Your SlideShare is downloading. ×
0
Introducción a NoSQL con MongoDB
Introducción a NoSQL con MongoDB
Introducción a NoSQL con MongoDB
Introducción a NoSQL con MongoDB
Introducción a NoSQL con MongoDB
Introducción a NoSQL con MongoDB
Introducción a NoSQL con MongoDB
Introducción a NoSQL con MongoDB
Introducción a NoSQL con MongoDB
Introducción a NoSQL con MongoDB
Introducción a NoSQL con MongoDB
Introducción a NoSQL con MongoDB
Introducción a NoSQL con MongoDB
Introducción a NoSQL con MongoDB
Introducción a NoSQL con MongoDB
Introducción a NoSQL con MongoDB
Introducción a NoSQL con MongoDB
Introducción a NoSQL con MongoDB
Introducción a NoSQL con MongoDB
Introducción a NoSQL con MongoDB
Introducción a NoSQL con MongoDB
Introducción a NoSQL con MongoDB
Introducción a NoSQL con MongoDB
Introducción a NoSQL con MongoDB
Introducción a NoSQL con MongoDB
Introducción a NoSQL con MongoDB
Introducción a NoSQL con MongoDB
Introducción a NoSQL con MongoDB
Introducción a NoSQL con MongoDB
Introducción a NoSQL con MongoDB
Introducción a NoSQL con MongoDB
Introducción a NoSQL con MongoDB
Introducción a NoSQL con MongoDB
Introducción a NoSQL con MongoDB
Introducción a NoSQL con MongoDB
Introducción a NoSQL con MongoDB
Introducción a NoSQL con MongoDB
Introducción a NoSQL con MongoDB
Introducción a NoSQL con MongoDB
Introducción a NoSQL con MongoDB
Introducción a NoSQL con MongoDB
Introducción a NoSQL con MongoDB
Introducción a NoSQL con MongoDB
Introducción a NoSQL con MongoDB
Introducción a NoSQL con MongoDB
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Introducción a NoSQL con MongoDB

3,870

Published on

Introducción a NoSQL y a MongoDB. …

Introducción a NoSQL y a MongoDB.
Charla dada en el Gulev 2010 en Veracruz, México.

0 Comments
4 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
3,870
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
170
Comments
0
Likes
4
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. NoSQL con MongoDB Erick Camacho @ecamacho erick.camacho@tidyslice.com 1
  • 2. Agenda • ¿Por qué? • ¿Cómo? • Opciones • Mongo 2
  • 3. Si tienes un martillo... 3
  • 4. todo parece un clavo 4
  • 5. NoSQL es acerca de elegir la herramienta adecuada. 5
  • 6. Motivaciones 6
  • 7. El performance es el Rey 7
  • 8. El acceso a datos es el principal cuello de botella 8
  • 9. ¿Cómo escalas un RDBMS? 9
  • 10. Escalamiento Vertical • Más recursos para el servidor: CPU, RAM, interfaces de red, etc. 10
  • 11. Escalamiento Vertical "#$%&'%! "#$%&'%! )$*+,-(*%-$% ./0,1"1,(2$#% !"#$% &$% &"'(#% ! 11
  • 12. Escalamiento Vertical "#$%&'%! "#$%&'%! "#$%&'%! "#$%&'%! "#$%&'%! "#$%&'%! "#$%&'%! )$*+,-(*%-$% )$*+,-(*%-$% )$*+,-(*%-$% )$*+,-(*%-$% ./0,1"1,(2$#% ./0,1"1,(2$#% ./0,1"1,(2$#% ./0,1"1,(2$#% !"#$% !"#$% &$% &$% &"'(#% &"'(#% ! ! 11
  • 13. Escalamiento Vertical "#$%&'%! "#$%&'%! "#$%&'%! "#$%&'%! "#$%&'%! "#$%&'%! "#$%&'%! )$*+,-(*%-$% )$*+,-(*%-$% )$*+,-(*%-$% )$*+,-(*%-$% ./0,1"1,(2$#% ./0,1"1,(2$#% ./0,1"1,(2$#% ./0,1"1,(2$#% !"#$% !"#$% &$% &$% &"'(#% &"'(#% ! ! 11
  • 14. Escalamiento vertical • Limitado por hardware • Arquitectura con problemas de bottlenecks 12
  • 15. Escalamiento Horizontal • Las RDBMS no se adaptan a esta arquitectura • ¿TX distribuidas? Muy costosas • ¿Cómo distribuyes las escrituras? • ¿Shardening? • ¿Desnormalización? 13
  • 16. Escalamiento horizontal • Replicación Maestro - Esclavo • Replicación Maestro (escrituras)- MultiEsclavos (lecturas) • Replicación MultiMaestro (shardening) 14
  • 17. Escalamiento Horizontal • ¿Qué pasa con las escrituras? • ¿Cómo escalas las transacciones? • ¿y el shardening? 15
  • 18. ¿Todo dominio es relacional? 16
  • 19. ¿Todo debe ser transaccional? • A: Atomicity • C: Consistency • I: Isolated • D: Durability 17
  • 20. Teorema CAP ! "#$%&%'($)*! +,-&.-/&.&'*! 0-1'&'&#$! 2#.(1-$)(! 18
  • 21. Teorema CAP ! "#$%&%'($)*! ! "#$%&! +,-&.-/&.&'*! 0-1'&'&#$! 2#.(1-$)(! 18
  • 22. NoSQL: tú decides 19
  • 23. NoSQL: tú decides Pensar es difícil 19
  • 24. Categorías de soluciones NoSQL 20
  • 25. Orientadas a Objetos • El tipo más viejo (1980’s) • Permite herencia entre tablas, polimorfismo. • Lenguaje de consulta orientado a objetos. • Ha influenciado la evolución de las RDBMS (sql 99, Oracle, Postgres, etc). 21
  • 26. Orientadas a Objetos 22
  • 27. Key-Value • Sólo almacenan dos cosas: 1 campo clave asociado a 1 dato binario. • Operaciones Put, Get, Delete. • Piensa en una HashTable distribuida. • Todo en memoria, algunas persisten a disco de forma asíncrona. • Útil como cache en combinación con una RDBMS. 23
  • 28. Key - Value Wordpress Youtube memcached Twitter Craiglist GitHub Redis The Guardian Proyecto Voldemort LinkedIn 24
  • 29. Key - Value • Muy útiles para entornos distribuidos. • Alto performance. • Lenguaje de consulta muy pobre. Requiere procesamiento externo de los datos. 25
  • 30. Orientadas a documentos • Iguales a las Key - Value, pero el dato no es binario. • Debe ser un formato que el servidor entienda: XML, JSON, BSON.. • Permite consultas más complejas sobre atributos. • Son usadas como sustituto de las RDBMS. 26
  • 31. Orientadas a documento foursquare sourceForge Justin.tv SimpleDB 27
  • 32. Orientadas a columnas • La información se representa en columnas. • Mayor rapidez para consultas sobre pocas columnas. • Mayor rapidez para agregados. • Peor performance para escrituras. 28
  • 33. Orientadas a columnas 29
  • 34. Orientadas a columnas 29
  • 35. Orientadas a columnas 29
  • 36. Orientadas a Columnas facebook twitter digg reddit BigTable 30
  • 37. Orientadas a Grafos • Datos como nodos y relaciones. • Las relaciones pueden ser bidireccionales y tener atributos. • Permite hacer consultas complejas a relaciones. • Permite gran velocidad de recorrido de las relaciones. 31
  • 38. Orientadas a Grafos 32
  • 39. ¿Cuál usar? 33
  • 40. ¿Cuál usar? Depende de tus requerimientos 33
  • 41. Nathan Hurst http://blog.nahurst.com/visual-guide-to-nosql-systems 34
  • 42. ¿Y si tenemos de varios tipos en una misma aplicación? 35
  • 43. • Orientado a Documento. • Usa el formato BSON: Binary JSON. • Permite consultas muy avanzadas. • Preparado para escalar horizontalmente. • Open source con soporte comercial con 10Gen. 36
  • 44. DEMO 37
  • 45. Preguntas 38

×