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