Introdução a nosql - II SACIC

2,525 views
2,490 views

Published on

Slides da apresentação no II SACIC

Published in: Technology
0 Comments
5 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,525
On SlideShare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
92
Comments
0
Likes
5
Embeds 0
No embeds

No notes for slide
  • Berkeley DB Redis
  • Cassandra Hadoop
  • Introdução a nosql - II SACIC

    1. 1. NoSQL: O Futuro dos Bancos de Dados para a Web <ul><li>@caironoleto </li></ul>
    2. 2. Sobre o palestrante <ul><li>Cairo Noleto </li></ul><ul><li>Analista de Técnologia do Jus Navigandi </li></ul><ul><li>Co-fundador do Trendtime </li></ul>
    3. 3. Vocês vão ver/ouvir <ul><li>Introdução sobre o NoSQL </li></ul><ul><li>Os diferentes tipos </li></ul><ul><li>Impacto na escalabilidade </li></ul><ul><li>Quem está usando NoSQL </li></ul>
    4. 4. Introdução ao NoSQL <ul><li>Mas o que é mesmo esse NoSQL?! </li></ul><ul><li>Por quê NoSQL?! </li></ul><ul><li>Que dizer que vai acabar com os bancos de dados relacionais!? </li></ul>
    5. 5. Introdução ao NoSQL <ul><li>A real necessidade dos bancos de dados não relacionais </li></ul><ul><li>Características </li></ul><ul><ul><li>Escalabilidade </li></ul></ul><ul><ul><li>Sem esquema! </li></ul></ul>
    6. 6. Introdução ao NoSQL <ul><li>curl -X POST http://localhost:5984/_replicate -d ‘{“source”:” http://localhost:5984/sasic ”, “target”:”http://ufpi.br:5984/sasic”}’ </li></ul>
    7. 7. Introdução ao NoSQL <ul><li>A real necessidade dos bancos de dados não relacionais </li></ul><ul><li>Características </li></ul><ul><ul><li>Escalabilidade </li></ul></ul><ul><ul><li>Sem esquema! </li></ul></ul>
    8. 8. Introdução ao NoSQL <ul><li>> db.users.insert({name:'Cairo', last_name:'Noleto'}) </li></ul><ul><li>> db.users.find() </li></ul><ul><li>{ &quot;_id&quot; : ObjectId(&quot;4bc7c943898d44634eceb376&quot;), &quot;name&quot; : &quot;Cairo&quot;, &quot;last_name&quot; : &quot;Noleto&quot; } </li></ul><ul><li>> db.users.insert({name:'Cairo', last_name:'Noleto', birth_date:'1986'}) </li></ul><ul><li>> db.users.find() </li></ul><ul><li>{ &quot;_id&quot; : ObjectId(&quot;4bc7c943898d44634eceb376&quot;), &quot;name&quot; : &quot;Cairo&quot;, &quot;last_name&quot; : &quot;Noleto&quot; } </li></ul><ul><li>{ &quot;_id&quot; : ObjectId(&quot;4bc7c97d898d44634eceb377&quot;), &quot;name&quot; : &quot;Cairo&quot;, &quot;last_name&quot; : &quot;Noleto&quot;, &quot;birth_date&quot; : &quot;1986&quot; } </li></ul>
    9. 9. Introdução ao NoSQL <ul><li>A real necessidade dos bancos de dados não relacionais </li></ul><ul><li>Características </li></ul><ul><ul><li>Escalabilidade </li></ul></ul><ul><ul><li>Sem esquema! </li></ul></ul><ul><ul><li>Map/Reduce </li></ul></ul>
    10. 10. Introdução ao NoSQL <ul><li>A real necessidade dos bancos de dados não relacionais </li></ul><ul><li>Características </li></ul><ul><ul><li>Escalabilidade </li></ul></ul><ul><ul><li>Sem esquema! </li></ul></ul><ul><ul><li>Map/Reduce </li></ul></ul><ul><ul><li>Key/value </li></ul></ul>
    11. 11. Introdução ao NoSQL <ul><li>A real necessidade dos bancos de dados não relacionais </li></ul><ul><li>Características </li></ul><ul><ul><li>Escalabilidade </li></ul></ul><ul><ul><li>Sem esquema! </li></ul></ul><ul><ul><li>Map/Reduce </li></ul></ul><ul><ul><li>Key/value </li></ul></ul><ul><ul><li>Outras </li></ul></ul>
    12. 12. Os diferentes tipos <ul><li>Bancos orientado a documentos </li></ul>
    13. 13. Bancos orientados a documentos
    14. 14. Os diferentes tipos <ul><li>Bancos orientado a documentos </li></ul><ul><li>Key/value </li></ul>
    15. 15. Key/value
    16. 16. Os diferentes tipos <ul><li>Bancos orientado a documentos </li></ul><ul><li>Key/value </li></ul><ul><li>Column Database </li></ul>
    17. 17. Column Database
    18. 18. Os diferentes tipos <ul><li>Bancos orientado a documentos </li></ul><ul><li>Key/value </li></ul><ul><li>Column Database </li></ul><ul><li>Graph Database </li></ul>
    19. 19. Graph Database
    20. 20. Os diferentes tipos <ul><li>Bancos orientado a documentos </li></ul><ul><li>Key/value </li></ul><ul><li>Column Database </li></ul><ul><li>Graph Database </li></ul><ul><li>Qual deles devo usar? </li></ul>
    21. 21. Impactos na escalabilidade <ul><li>Escalabilidade?! </li></ul><ul><ul><li>Escalabilidade vertical </li></ul></ul>
    22. 22. Escalabilidade vertical
    23. 23. Impactos na escalabilidade <ul><li>Escalabilidade?! </li></ul><ul><ul><li>Escalabilidade vertical </li></ul></ul><ul><ul><li>Escalabilidade horizontal </li></ul></ul>
    24. 24. Escalabilidade horizontal
    25. 25. Impactos na escalabilidade <ul><li>Escalabilidade?! </li></ul><ul><ul><li>Escalabilidade vertical </li></ul></ul><ul><ul><li>Escalabilidade horizontal </li></ul></ul><ul><li>Escalabilidade em bancos relacionais </li></ul>
    26. 26. Impactos na escalabilidade <ul><li>Replicação </li></ul><ul><ul><li>Master - Master </li></ul></ul>
    27. 27. Master - Master
    28. 28. Impactos na escalabilidade <ul><li>Replicação </li></ul><ul><ul><li>Master - Master </li></ul></ul><ul><ul><li>Master - Slave </li></ul></ul>
    29. 29. Master - Slave
    30. 30. Impactos na escalabilidade <ul><li>Replicação </li></ul><ul><ul><li>Master - Master </li></ul></ul><ul><ul><li>Master - Slave </li></ul></ul><ul><li>Sharding </li></ul>
    31. 31. Impactos na escalabilidade <ul><li>Replicação </li></ul><ul><ul><li>Master - Master </li></ul></ul><ul><ul><li>Master - Slave </li></ul></ul><ul><li>Sharding </li></ul><ul><li>Replicação automática </li></ul>
    32. 32. Quem está usando NoSQL <ul><li>Bancos orientado a documentos </li></ul><ul><ul><li>TrendTime (MongoDB) </li></ul></ul><ul><ul><li>Jus Navigandi (CouchDB) </li></ul></ul><ul><ul><li>Be On The Net - Improve.it (CouchDB) </li></ul></ul><ul><ul><li>Busk.com (MongoDB) </li></ul></ul><ul><ul><li>BBC (CouchDB) </li></ul></ul><ul><ul><li>The New York Times (MongoDB) </li></ul></ul>
    33. 33. Quem está usando NoSQL <ul><li>Column Family </li></ul><ul><ul><li>Jus Navigandi (Cassandra) </li></ul></ul><ul><ul><li>Buzz Volume (Cassandra) </li></ul></ul><ul><ul><li>Twitter (Cassandra) </li></ul></ul><ul><ul><li>Facebook (Cassandra - são os criadores ;) </li></ul></ul><ul><ul><li>Google (BigTable) </li></ul></ul>
    34. 34. Quem está usando NoSQL <ul><li>Você, no seu próximo projeto ;) </li></ul>
    35. 35. Perguntas?
    36. 36. Contato <ul><li>@caironoleto </li></ul><ul><li>[email_address] </li></ul><ul><li>http://caironoleto.com </li></ul>

    ×