https://github.com/schweigert/super-factorial
Stress test for Data Storing with Superfactorial function
https://github.com/schweigert/super-factorial
mongo mysql ruby superfactorial
Last synced: over 1 year ago
JSON representation
Stress test for Data Storing with Superfactorial function
- Host: GitHub
- URL: https://github.com/schweigert/super-factorial
- Owner: schweigert
- License: mit
- Archived: true
- Created: 2017-06-02T21:54:08.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2017-06-03T01:38:17.000Z (about 9 years ago)
- Last Synced: 2025-02-12T11:52:40.191Z (over 1 year ago)
- Topics: mongo, mysql, ruby, superfactorial
- Language: Ruby
- Size: 482 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
Superfactorial é um repositório para teste de estresse aos bancos de dados
NoSQL, SQL e comparativo com buscas diretas ao sistema de arquivos.
# MongoDB
## Instalando dependências
Para instalar as dependências no sistema Ubuntu
é necessário a execução do seguinte sh:
```shellscript
sudo apt-get install mongodb
sudo service mongodb start
sudo gem install mongo
```
## Setup inicial do banco
```ruby
mongo superfactorial
db.fat.insert({n: "0", f: "1"})
db.fat.insert({n: "1", f: "1"})
db.sfat.insert({n: "0", f: "1"})
db.sfat.insert({n: "1", f: "1"})
```
## Busca no banco e funcionamento
```ruby
require 'mongo'
client = Mongo::Client.new([ '127.0.0.1:27017' ], :database => 'superfactorial')
docs = client[:fat].find({:n => "0"}).to_a
=> [{"_id"=>BSON::ObjectId('5931e4070f89c47b29c95e0e'), "n"=>"0", "f"=>"1"}]
docs[0]["f"].to_i
=> 1
client.close
```
```ruby
f = fat(3)
=> 6
doc = { :_id => BSON::ObjectId.new, :n => 3.to_s, :f => f.to_s }
client[:fat].insert_one doc
client.close
```
# Mysql
## Schema inicial
```sql
CREATE SCHEMA `superfactorial` ;
CREATE TABLE `superfactorial`.`fat` (
`n` INT NOT NULL,
`f` LONGTEXT NOT NULL,
PRIMARY KEY (`n`));
CREATE TABLE `superfactorial`.`sfat` (
`n` INT NOT NULL,
`f` LONGTEXT NULL,
PRIMARY KEY (`n`));
delete from fat;
delete from sfat;
insert into fat values (0, "1");
insert into fat values (1, "1");
insert into sfat values (0, "1");
insert into sfat values (1, "1");
```
## Instalando dependências
```shellscript
sudo apt-get install mysql-client mysql-server libmysqlclient-dev
sudo apt-get install ruby-mysql2
sudo gem install mysql2
```
## Usando
```ruby
require 'mysql2'
client = Mysql2::Client.new(:host => "localhost",
:database => "superfactorial",
:username => "root",
:password => "root")
results = client.query("SELECT * FROM fat WHERE n == '1'")
rs.to_a[0]["f"].to_i
=> 1
client.query("INSERT INTO fat VALUES (1,1)")
```