Introducción MongoDB con Java

2,391 views
2,260 views

Published on

Introducción a mongoDB y su integración con Java utilizando el Java Driver.

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

  • Be the first to like this

No Downloads
Views
Total views
2,391
On SlideShare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Introducción MongoDB con Java

  1. 1. y @CesarHgt César Hernández CesarHernandezGtJava Day Guatemala 2012
  2. 2. Agenda•  Evolución•  Retos•  NoSQL•  Tipos NoSQL•  MongoDB•  RDBMS / MongoDB•  Integración con Java
  3. 3. Evolución de los sistemas de almacenamientohttp://justjacqui2.files.wordpress.com/2011/12/bored-girl-in-classroom.jpg
  4. 4. 70s Mainframes Alto costo No distribuido ... +2 mujeres en el mismo cuarto de servidores :Ohttp://plyojump.com/classes/images/computer_history/1950sComputer.jpg
  5. 5. 80s http://www.db- Cliente/Servidor convert.org/db- convert/img/mysql- oracle.jpg RDBMS First 5¼" drive 5 MB $1500 http://www.smallbusinessdelivered.com/wp-content/ uploads/2011/10/free-internet-publicity.jpg 90shttp://www.surelineelectric.com/ Arquitectura 3n Despega Internetimages/pages/Computer-Networking.jpg casi GB
  6. 6. 2000sWEB 2.0BI Business IntelligenceOLAP On-Line Analytical Processing 2005 – First 500 GB hard drive http://internet-map.net/
  7. 7. Actualidad Retos Alta transaccionalidad Alto volumen datos Alta disponibilidad Tipo de data variablehttp://m01.cariblogger.com/2010/08/social-networking-4.jpg Objetos complejos MetaData
  8. 8. Escalando 1.5 años 1 año 6 meses http://www.oracle.com/us/assets/im07t1-sun-fire-x4170m3-1-1571069.png Día 1 http://regmedia.co.uk/2011/09/26/oracle_sparc_t4_4_server.jpg?x=300&y=200&crop=1 http://www8.pcmag.com/media/images/271798-oracle-sparc-server.jpg http://cdn1.computerworlduk.com/cmsdata/news/3282065/Oracle_Exadata_thumb230.PNG http://3.bp.blogspot.com/_BGeZdq-xPfk/TDvj9TiYOvI/AAAAAAAAAQ0/Ni8U_te6hzk/s1600/Mountain+climbing.jpg
  9. 9. NoSQLSchema freeEscalable Horiz.Administración sencillaNo JoinsBajo costoCoexistencia RDBMS y DataWarehouse
  10. 10. Tipos NoSQL Key/value Graph Column Document
  11. 11. Comparación Rendimiento y escalabilidad memcached Key/value RDBMS Funcionalidad
  12. 12. •  Orientado a Documentos o  JSON o  Schema free o  No utiliza Joins•  Funcionalidad o  Conversión transparente de JSON a Objetos de aplicación (OO) o  Atomicidad transaccional (a nivel de Doc.) o  Map/Reduce (agregation)•  Escalable y Bajo costo o  Replicación y alta disponibilidad o  AutoSharding (No custom hardware)
  13. 13. RDBMS y MongoDBRDBMS MongoDBTable CollectionFila(s) JSON DocumentIndex IndexJoin EmbeddingPartition ShardPArtition Key Shard Key
  14. 14.     Documento {    autor  :  "Mario  Donis  Navarro",    Edad  :  25,    email:  "md@mail.net",    dirección  :  "1a  calle  10-­‐20  zona  30"   {              calle  :  "1",          Numero  :  "11-­‐20",          zona:  30   },       seudónimos  :  ["md","madona"]   }    
  15. 15. DEMO 1 Instalación, Mongod, Mongo Shellhttp://insidemc.montgomerycollege.edu/attach/5649145e-eae7-0564-cdf3-8dd21ffede61/computer-praying-to-780774.jpg
  16. 16. http://www.mongodb.org/downloads
  17. 17. Modelling http://downloads.xdesktopwallpapers.com/wp-content/uploads/2010/12/Parvati-Vaze-Modeling-Pose.jpg
  18. 18. ER para un post
  19. 19. Post{ autor : "Mario", titulo : "Java Day 2012", texto : "Texto principal", tags : ["java", "day","TI"], votos : 1, comentarios : [ ]}
  20. 20. Post{ autor : "Mario", titulo : "Java Day 2012", texto : "Texto principal", tags : ["java", "day","TI"], votos : 1, comentarios : [ { quien : "Cesar", comentario : "excelente" }, { quien : "Paula", comentario : "interesante" } ]}
  21. 21. DEMO 2Inserción y Consultas
  22. 22. Cuando utilizar MongoDB•  Problemas de perforance en tu BD, ejm: exceso de caching•  Te encuentras haciendo batch y lo necesitas en tiempo real•  Luego de varios intentos, consultores y gurus,tu data es dificil de modelar en un modelo relacional
  23. 23. ¿Cuando no utilizarlo?•  Cuando se necesita un estricto comportamiento transaccional•  La información es muy relational-oriented•  Necesidad de triggers•  Cuando necesitemos Integridad referencial
  24. 24. Integración con Java mongo-java-driver Jongo Spring MongoDB
  25. 25. DEMO 3 mongo java driver git://github.com/cesarhernandezgt/JavaDay2012.gitwww.mongodb.org/display/DOCS/Java+Language+Center
  26. 26. PREGUNTAS? @CesarHgt César Hernández CesarHernandezGtJava Day Guatemala 2012

×