O que é NoSQL?

Propaganda
NoSQL em 5 minutos!
Edimo Sousa Silva
SI / FA7
Verde Tecnologia
Diferencial
 Escalabilidade
 Disponibilidade (acessos simultâneos)
Diferencial
 Performance
Com a possibilidade de um maior escalonamento, o
acesso aos dados se torna mais performatico.
 Estruturas dinâmicas
Tipos de Bancos de dados
NoSQL
Key/Value Store
HashTable gigante .
Maior escalabilidade.
Tipos de Bancos de dados
NoSQL
Wide Columns Store
 Listas de valores e/ou sub-colunas.
Tipos de Bancos de dados
NoSQL
Document Store
XML ou JSON
Graph Store
Complexibilidade maior
Objetos
Grafos
Tipos de Bancos de dados
NoSQL
Column Oriented Store
Relacional
Grande numero de colunas
NoSQL vs Relacionais
NoSQL
Relacionais
Esclabilidade
Alta / Fácil
Baixa / Dificil
Disponibilidade
Alta / Fácil
Baixa / Dificil
NoSQL vs Relacionais
NoSQL
Relacionais
Linguagem de
Não
consulta Padrão
Sim
Mudança entre
BD
Sim, com grande
esforço
Não
NoSQL sem ACID
 BASE (Basically Available,Soft state, Eventual
consistency)
 “Consistência em Momento Indeterminado”
(Maurício De Diana.)
BASE
Passa grande parte do tempo consistente.
Menos consistência mais disponibilidade.
NoSQL+ACID = Neo4j (exemplo)
Map and Reduce
Programação funcional
Funções combinadoras (Combinators), sendo
Map e Reduce as duas mais significativas.
Map
Map and Reduce
Muito eficiente na procura por textos e em data
mining.
Paralelização.
Poder de consulta comparado ao SQL.
Termos MongoDB
MySQL
MongoDB
database
database
table
collection
row
BSON document
column
BSON field
primary key
_id field
Sintaxe MongoDB
SQL
MongoDB
INSERT INTO USERS
VALUES(3,5)
db.users.insert({a:3,b:5})
SELECT * FROM users
db.users.find()
SELECT * FROM users
WHERE age=33
db.users.find({age:33})
SELECT a,b FROM users
WHERE age=33
db.users.find({age:33},
{a:1,b:1})
SELECT * FROM users
db.users.find({'age':{$gt:33,$lte:
WHERE age>33 AND age<=40 40}})
Quem usa?
Exemplos open-source
MongoDB : Disney
Apache Cassandra : Facebook & Twitter
FlockDN : Twitter
BigTable : Google
Twiter:edimoss
Skype/Gtalk:
edimossilva
Download