NoSQL: O Futuro dos
Bancos de Dados para a
Web
@caironoleto
Sobre o palestrante
Cairo Noleto
Analista de Técnologia do Jus Navigandi
Co-fundador do Trendtime
Vocês vão ver/ouvir
Introdução sobre o NoSQL
Os diferentes tipos
Impacto na escalabilidade
Quem está usando NoSQL
Introdução ao NoSQL
Mas o que é mesmo esse NoSQL?!
Por quê NoSQL?!
Que dizer que vai acabar com os bancos de dados
relacionais!?
Introdução ao NoSQL
A real necessidade dos bancos de dados não
relacionais
Características
Escalabilidade
Sem esquema!
Introdução ao NoSQL
curl -X POST http://localhost:5984/_replicate -d
‘{“source”:”http://localhost:5984/sasic”,
“target”:”http://ufpi.br:5984/sasic”}’
Introdução ao NoSQL
A real necessidade dos bancos de dados não
relacionais
Características
Escalabilidade
Sem esquema!
Introdução ao NoSQL
> db.users.insert({name:'Cairo', last_name:'Noleto'})
> db.users.find()
{ "_id" : ObjectId("4bc7c943898d44634eceb376"), "name" : "Cairo",
"last_name" : "Noleto" }
> db.users.insert({name:'Cairo', last_name:'Noleto',
birth_date:'1986'})
> db.users.find()
{ "_id" : ObjectId("4bc7c943898d44634eceb376"), "name" : "Cairo",
"last_name" : "Noleto" }
{ "_id" : ObjectId("4bc7c97d898d44634eceb377"), "name" : "Cairo",
"last_name" : "Noleto", "birth_date" : "1986" }
Introdução ao NoSQL
A real necessidade dos bancos de dados não
relacionais
Características
Escalabilidade
Sem esquema!
Map/Reduce
Introdução ao NoSQL
A real necessidade dos bancos de dados não
relacionais
Características
Escalabilidade
Sem esquema!
Map/Reduce
Key/value
Introdução ao NoSQL
A real necessidade dos bancos de dados não
relacionais
Características
Escalabilidade
Sem esquema!
Map/Reduce
Key/value
Outras
Os diferentes tipos
Bancos orientado a documentos
Bancos orientados a
documentos
Os diferentes tipos
Bancos orientado a documentos
Key/value
Key/value
Os diferentes tipos
Bancos orientado a documentos
Key/value
Column Database
Column Database
Os diferentes tipos
Bancos orientado a documentos
Key/value
Column Database
Graph Database
Graph Database
Os diferentes tipos
Bancos orientado a documentos
Key/value
Column Database
Graph Database
Qual deles devo usar?
Impactos na escalabilidade
Escalabilidade?!
Escalabilidade vertical
Escalabilidade vertical
Impactos na escalabilidade
Escalabilidade?!
Escalabilidade vertical
Escalabilidade horizontal
Escalabilidade horizontal
Impactos na escalabilidade
Escalabilidade?!
Escalabilidade vertical
Escalabilidade horizontal
Escalabilidade em bancos relacionais
Impactos na escalabilidade
Replicação
Master - Master
Master - Master
Impactos na escalabilidade
Replicação
Master - Master
Master - Slave
Master - Slave
Impactos na escalabilidade
Replicação
Master - Master
Master - Slave
Sharding
Impactos na escalabilidade
Replicação
Master - Master
Master - Slave
Sharding
Replicação automática
Quem está usando NoSQL
Bancos orientado a documentos
TrendTime (MongoDB)
Jus Navigandi (CouchDB)
Be On The Net - Improve.it (CouchDB)
Busk.com (MongoDB)
BBC (CouchDB)
The New York Times (MongoDB)
Quem está usando NoSQL
Column Family
Jus Navigandi (Cassandra)
Buzz Volume (Cassandra)
Twitter (Cassandra)
Facebook (Cassandra - são os criadores ;)
Google (BigTable)
Quem está usando NoSQL
Você, no seu próximo projeto ;)
Perguntas?
Contato
•
@caironoleto
[email protected]
•
•
http://caironoleto.com
Download

introduoanosql-100428074459