SlideShare uma empresa Scribd logo
1 de 26
y
                              @CesarHgt
 César Hernández              CesarHernandezGt




Java Day Guatemala 2012
Agenda
•  Evolución
•  Retos
•  NoSQL
•  Tipos NoSQL
•  MongoDB
•  RDBMS / MongoDB
•  Integración con Java
Evolución de los
            sistemas de
            almacenamiento


http://justjacqui2.files.wordpress.com/2011/12/bored-girl-in-classroom.jpg
70's
                                Mainframes
                                Alto costo
                                No distribuido


                                ... +2 mujeres en
                                    el mismo cuarto
                                    de
                                    servidores :O


http://plyojump.com/classes/images/computer_history/1950sComputer.jpg
80's
                                                                                         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




                                                                     90's
http://www.surelineelectric.com/
                                                                     Arquitectura 3n
                                                                     Despega Internet
images/pages/Computer-
Networking.jpg


                                                                                                         casi GB
2000's
WEB 2.0
BI Business Intelligence
OLAP On-Line Analytical
          Processing




                           2005 – First 500 GB
                           hard drive
                                     http://internet-map.net/
Actualidad
                                                             Retos
                                                             Alta transaccionalidad
                                                             Alto volumen datos
                                                             Alta disponibilidad
                                                             Tipo de data variable
http://m01.cariblogger.com/2010/08/social-networking-4.jpg
                                                             Objetos complejos
                                                             MetaData
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
NoSQL
Schema free
Escalable Horiz.
Administración sencilla
No Joins
Bajo costo

Coexistencia RDBMS y
  DataWarehouse
Tipos NoSQL

     Key/value

     Graph



     Column

     Document
Comparación
 Rendimiento y escalabilidad




                               memcached

                                    Key/value




                                                           RDBMS



                                           Funcionalidad
•  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)
RDBMS y MongoDB

RDBMS           MongoDB
Table           Collection
Fila(s)         JSON Document
Index           Index
Join            Embedding
Partition       Shard
PArtition Key   Shard Key
 
	
  
       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"]	
  
         }	
  
	
  
DEMO 1
   Instalación, Mongod, Mongo Shell




http://insidemc.montgomerycollege.edu/attach/5649145e-eae7-0564-cdf3-8dd21ffede61/computer-praying-to-780774.jpg
http://www.mongodb.org/downloads
Modelling




            http://downloads.xdesktopwallpapers.com/wp-content/uploads/2010/12/Parvati-Vaze-Modeling-Pose.jpg
ER para un post
Post
{
    autor : "Mario",
         titulo : "Java Day 2012",
         texto : "Texto principal",
         tags : ["java", "day","TI"],
         votos : 1,
         comentarios : [ ]
}
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"
                             }
                   ]
}
DEMO 2
Inserción y Consultas
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
¿Cuando no utilizarlo?
•  Cuando se necesita un estricto
     comportamiento transaccional
•    La información es muy relational-oriented
•    Necesidad de triggers
•    Cuando necesitemos Integridad referencial
Integración con Java
  mongo-java-driver



  Jongo



  Spring MongoDB
DEMO 3
                     mongo java driver



            git://github.com/cesarhernandezgt/JavaDay2012.git
www.mongodb.org/display/DOCS/Java+Language+Center
PREGUNTAS?
                          @CesarHgt
 César Hernández          CesarHernandezGt




Java Day Guatemala 2012

Mais conteúdo relacionado

Destaque

Análisis estático de código en Java
Análisis estático de código en JavaAnálisis estático de código en Java
Análisis estático de código en JavaCésar Hernández
 
El git nuestro de cada dia
El git nuestro de cada diaEl git nuestro de cada dia
El git nuestro de cada diaAlan Descoins
 
Integración contínua con Jenkins
Integración contínua con JenkinsIntegración contínua con Jenkins
Integración contínua con JenkinsCésar Hernández
 
05 diagramas de flujo y estandarización
05 diagramas de flujo y estandarización05 diagramas de flujo y estandarización
05 diagramas de flujo y estandarizacióncesar hernandez
 
Java mission control para monitoreo, administración y profilig de aplicacione...
Java mission control para monitoreo, administración y profilig de aplicacione...Java mission control para monitoreo, administración y profilig de aplicacione...
Java mission control para monitoreo, administración y profilig de aplicacione...César Hernández
 

Destaque (6)

Introducción a Java
Introducción a JavaIntroducción a Java
Introducción a Java
 
Análisis estático de código en Java
Análisis estático de código en JavaAnálisis estático de código en Java
Análisis estático de código en Java
 
El git nuestro de cada dia
El git nuestro de cada diaEl git nuestro de cada dia
El git nuestro de cada dia
 
Integración contínua con Jenkins
Integración contínua con JenkinsIntegración contínua con Jenkins
Integración contínua con Jenkins
 
05 diagramas de flujo y estandarización
05 diagramas de flujo y estandarización05 diagramas de flujo y estandarización
05 diagramas de flujo y estandarización
 
Java mission control para monitoreo, administración y profilig de aplicacione...
Java mission control para monitoreo, administración y profilig de aplicacione...Java mission control para monitoreo, administración y profilig de aplicacione...
Java mission control para monitoreo, administración y profilig de aplicacione...
 

Semelhante a Introducción MongoDB con Java

Tabla de 5 SGBD_Dorado Jarero Miguel Angel_Base de Datos 2.pdf
Tabla de 5 SGBD_Dorado Jarero Miguel Angel_Base de Datos 2.pdfTabla de 5 SGBD_Dorado Jarero Miguel Angel_Base de Datos 2.pdf
Tabla de 5 SGBD_Dorado Jarero Miguel Angel_Base de Datos 2.pdfMIGUELANGELDORADOJAR
 
Introducción mongodb y desarrollo
Introducción mongodb y desarrolloIntroducción mongodb y desarrollo
Introducción mongodb y desarrolloJuan Ladetto
 
NoSQL: Un Cambio de Paradigma - Apache Cassandra
NoSQL: Un Cambio de Paradigma - Apache CassandraNoSQL: Un Cambio de Paradigma - Apache Cassandra
NoSQL: Un Cambio de Paradigma - Apache CassandraWladimir Cabarcas
 
El futurodelos servicio sweb
El futurodelos servicio swebEl futurodelos servicio sweb
El futurodelos servicio swebQuách Tĩnh
 
Desarrollo de Aplicaciones con Node.js | INTERSYS UNPRG | 2012
Desarrollo de Aplicaciones con Node.js | INTERSYS UNPRG | 2012Desarrollo de Aplicaciones con Node.js | INTERSYS UNPRG | 2012
Desarrollo de Aplicaciones con Node.js | INTERSYS UNPRG | 2012Pilmee Gates
 
EasyData: OpenData and easy access
EasyData: OpenData and easy accessEasyData: OpenData and easy access
EasyData: OpenData and easy accessJuan Vazquez Murga
 
MySQL de 1995 a 5.5
MySQL de 1995 a 5.5MySQL de 1995 a 5.5
MySQL de 1995 a 5.5juliomacr
 
creative commons y datos en la web
creative commons y datos en la webcreative commons y datos en la web
creative commons y datos en la webCarlos Correa
 
Curso_DataBase_Tarea01
Curso_DataBase_Tarea01Curso_DataBase_Tarea01
Curso_DataBase_Tarea01Jose Varillas
 
Bd eq. #3 actividad 2 unidad 2 comparacion oracle y mysql
Bd eq. #3 actividad 2 unidad 2 comparacion oracle y mysqlBd eq. #3 actividad 2 unidad 2 comparacion oracle y mysql
Bd eq. #3 actividad 2 unidad 2 comparacion oracle y mysqlKARY
 
Bd eq. #3 actividad 2 unidad 2 oracle y mysql
Bd eq. #3 actividad 2 unidad 2 oracle y mysqlBd eq. #3 actividad 2 unidad 2 oracle y mysql
Bd eq. #3 actividad 2 unidad 2 oracle y mysqlKARY
 
Webinar Vault IT: Analítica avanzada y Machine Learning con virtualización de...
Webinar Vault IT: Analítica avanzada y Machine Learning con virtualización de...Webinar Vault IT: Analítica avanzada y Machine Learning con virtualización de...
Webinar Vault IT: Analítica avanzada y Machine Learning con virtualización de...Denodo
 
Bd eq. #3 actividad extra comparacion oracle y mysql
Bd eq. #3 actividad extra comparacion oracle y mysqlBd eq. #3 actividad extra comparacion oracle y mysql
Bd eq. #3 actividad extra comparacion oracle y mysqlKARY
 
Bd eq. #3 actividad 2 unidad 2 comparacion oracle y mysql
Bd eq. #3 actividad 2 unidad 2 comparacion oracle y mysqlBd eq. #3 actividad 2 unidad 2 comparacion oracle y mysql
Bd eq. #3 actividad 2 unidad 2 comparacion oracle y mysqlKARY
 

Semelhante a Introducción MongoDB con Java (20)

Tabla de 5 SGBD_Dorado Jarero Miguel Angel_Base de Datos 2.pdf
Tabla de 5 SGBD_Dorado Jarero Miguel Angel_Base de Datos 2.pdfTabla de 5 SGBD_Dorado Jarero Miguel Angel_Base de Datos 2.pdf
Tabla de 5 SGBD_Dorado Jarero Miguel Angel_Base de Datos 2.pdf
 
Introducción mongodb y desarrollo
Introducción mongodb y desarrolloIntroducción mongodb y desarrollo
Introducción mongodb y desarrollo
 
NoSQL: Un Cambio de Paradigma - Apache Cassandra
NoSQL: Un Cambio de Paradigma - Apache CassandraNoSQL: Un Cambio de Paradigma - Apache Cassandra
NoSQL: Un Cambio de Paradigma - Apache Cassandra
 
Elfuturodelos serviciosweb
Elfuturodelos servicioswebElfuturodelos serviciosweb
Elfuturodelos serviciosweb
 
El futurodelos servicio sweb
El futurodelos servicio swebEl futurodelos servicio sweb
El futurodelos servicio sweb
 
Desarrollo de Aplicaciones con Node.js | INTERSYS UNPRG | 2012
Desarrollo de Aplicaciones con Node.js | INTERSYS UNPRG | 2012Desarrollo de Aplicaciones con Node.js | INTERSYS UNPRG | 2012
Desarrollo de Aplicaciones con Node.js | INTERSYS UNPRG | 2012
 
EasyData: OpenData and easy access
EasyData: OpenData and easy accessEasyData: OpenData and easy access
EasyData: OpenData and easy access
 
MySQL de 1995 a 5.5
MySQL de 1995 a 5.5MySQL de 1995 a 5.5
MySQL de 1995 a 5.5
 
creative commons y datos en la web
creative commons y datos en la webcreative commons y datos en la web
creative commons y datos en la web
 
Curso_DataBase_Tarea01
Curso_DataBase_Tarea01Curso_DataBase_Tarea01
Curso_DataBase_Tarea01
 
MEAN ¿otro buzzword?
MEAN ¿otro buzzword?MEAN ¿otro buzzword?
MEAN ¿otro buzzword?
 
DOCENTE
DOCENTEDOCENTE
DOCENTE
 
Bd eq. #3 actividad 2 unidad 2 comparacion oracle y mysql
Bd eq. #3 actividad 2 unidad 2 comparacion oracle y mysqlBd eq. #3 actividad 2 unidad 2 comparacion oracle y mysql
Bd eq. #3 actividad 2 unidad 2 comparacion oracle y mysql
 
Bd eq. #3 actividad 2 unidad 2 oracle y mysql
Bd eq. #3 actividad 2 unidad 2 oracle y mysqlBd eq. #3 actividad 2 unidad 2 oracle y mysql
Bd eq. #3 actividad 2 unidad 2 oracle y mysql
 
Diferencia entre sgbd
Diferencia entre sgbdDiferencia entre sgbd
Diferencia entre sgbd
 
Diferencia entre SGBD
Diferencia entre SGBDDiferencia entre SGBD
Diferencia entre SGBD
 
Webinar Vault IT: Analítica avanzada y Machine Learning con virtualización de...
Webinar Vault IT: Analítica avanzada y Machine Learning con virtualización de...Webinar Vault IT: Analítica avanzada y Machine Learning con virtualización de...
Webinar Vault IT: Analítica avanzada y Machine Learning con virtualización de...
 
Bd eq. #3 actividad extra comparacion oracle y mysql
Bd eq. #3 actividad extra comparacion oracle y mysqlBd eq. #3 actividad extra comparacion oracle y mysql
Bd eq. #3 actividad extra comparacion oracle y mysql
 
Bd eq. #3 actividad 2 unidad 2 comparacion oracle y mysql
Bd eq. #3 actividad 2 unidad 2 comparacion oracle y mysqlBd eq. #3 actividad 2 unidad 2 comparacion oracle y mysql
Bd eq. #3 actividad 2 unidad 2 comparacion oracle y mysql
 
Base de datos
Base de datosBase de datos
Base de datos
 

Mais de César Hernández

7 Recomendaciones para migrar tus aplicaciones a Jakarta EE utilizando Apache...
7 Recomendaciones para migrar tus aplicaciones a Jakarta EE utilizando Apache...7 Recomendaciones para migrar tus aplicaciones a Jakarta EE utilizando Apache...
7 Recomendaciones para migrar tus aplicaciones a Jakarta EE utilizando Apache...César Hernández
 
Paving the road with Jakarta EE and Apache TomEE - JCON 2021
Paving the road with Jakarta EE  and Apache TomEE - JCON 2021Paving the road with Jakarta EE  and Apache TomEE - JCON 2021
Paving the road with Jakarta EE and Apache TomEE - JCON 2021César Hernández
 
7 recomendaciones para migrar tus aplicaciones a Jakarta EE utilizando Apache...
7 recomendaciones para migrar tus aplicaciones a Jakarta EE utilizando Apache...7 recomendaciones para migrar tus aplicaciones a Jakarta EE utilizando Apache...
7 recomendaciones para migrar tus aplicaciones a Jakarta EE utilizando Apache...César Hernández
 
Keeping brazil's medical industry safe with Micro Profile [TDC 2021]
Keeping brazil's medical industry safe with Micro Profile [TDC 2021]Keeping brazil's medical industry safe with Micro Profile [TDC 2021]
Keeping brazil's medical industry safe with Micro Profile [TDC 2021]César Hernández
 
Aprende, contribuye, y surfea Cloud Native Java - GuateJUG 2021
Aprende, contribuye, y surfea Cloud Native Java - GuateJUG 2021Aprende, contribuye, y surfea Cloud Native Java - GuateJUG 2021
Aprende, contribuye, y surfea Cloud Native Java - GuateJUG 2021César Hernández
 
Paving the way with Jakarta EE and Apache TomEE - JCConf
Paving the way with Jakarta EE  and Apache TomEE - JCConfPaving the way with Jakarta EE  and Apache TomEE - JCConf
Paving the way with Jakarta EE and Apache TomEE - JCConfCésar Hernández
 
Keeping brazil's medical industry safe with Micro Profile and JakartaEE - Jak...
Keeping brazil's medical industry safe with Micro Profile and JakartaEE - Jak...Keeping brazil's medical industry safe with Micro Profile and JakartaEE - Jak...
Keeping brazil's medical industry safe with Micro Profile and JakartaEE - Jak...César Hernández
 
Pavimentando el camino con Jakarta EE 9 y Apache TomEE
Pavimentando el camino con Jakarta EE 9 y Apache TomEE Pavimentando el camino con Jakarta EE 9 y Apache TomEE
Pavimentando el camino con Jakarta EE 9 y Apache TomEE César Hernández
 
It is easy contributing to open source - JCON 2020
It is easy contributing to open source - JCON 2020It is easy contributing to open source - JCON 2020
It is easy contributing to open source - JCON 2020César Hernández
 
It is easy contributing to Open Source - ECLIPSE CON 2020
It is easy contributing to Open Source - ECLIPSE CON 2020It is easy contributing to Open Source - ECLIPSE CON 2020
It is easy contributing to Open Source - ECLIPSE CON 2020César Hernández
 
Paving the way with Jakarta EE and apache TomEE at cloudconferenceday
Paving the way with Jakarta EE and apache TomEE at cloudconferencedayPaving the way with Jakarta EE and apache TomEE at cloudconferenceday
Paving the way with Jakarta EE and apache TomEE at cloudconferencedayCésar Hernández
 
Pavimentando el Camino con Jakarta EE 9 y Apache TomEE 9.0.0
Pavimentando el Camino con Jakarta EE 9 y Apache TomEE 9.0.0Pavimentando el Camino con Jakarta EE 9 y Apache TomEE 9.0.0
Pavimentando el Camino con Jakarta EE 9 y Apache TomEE 9.0.0César Hernández
 
Creando microservicios con java micro profile y tomee - CUNORI 2020
Creando microservicios con java micro profile y tomee - CUNORI 2020Creando microservicios con java micro profile y tomee - CUNORI 2020
Creando microservicios con java micro profile y tomee - CUNORI 2020César Hernández
 
Paving the way with Jakarta EE and Apache TomEE - itkonekt 2020
Paving the way with Jakarta EE and Apache TomEE - itkonekt 2020Paving the way with Jakarta EE and Apache TomEE - itkonekt 2020
Paving the way with Jakarta EE and Apache TomEE - itkonekt 2020César Hernández
 
Creando microservicios con Java MicroProfile y TomEE - OGBT
Creando microservicios con Java MicroProfile y TomEE  - OGBTCreando microservicios con Java MicroProfile y TomEE  - OGBT
Creando microservicios con Java MicroProfile y TomEE - OGBTCésar Hernández
 
Creando microservicios con Java, Microprofile y TomEE - Baranquilla JUG
Creando microservicios con Java, Microprofile y TomEE - Baranquilla JUGCreando microservicios con Java, Microprofile y TomEE - Baranquilla JUG
Creando microservicios con Java, Microprofile y TomEE - Baranquilla JUGCésar Hernández
 
Creando microservicios con Java y Microprofile - Nicaragua JUG
Creando microservicios con Java y Microprofile - Nicaragua JUGCreando microservicios con Java y Microprofile - Nicaragua JUG
Creando microservicios con Java y Microprofile - Nicaragua JUGCésar Hernández
 
Keeping brazil's medical industry safe with Micro Profile and JakartaEE - Jak...
Keeping brazil's medical industry safe with Micro Profile and JakartaEE - Jak...Keeping brazil's medical industry safe with Micro Profile and JakartaEE - Jak...
Keeping brazil's medical industry safe with Micro Profile and JakartaEE - Jak...César Hernández
 
Es fácil contribuir al open source - Bolivia JUG 2020
Es fácil contribuir al open source - Bolivia JUG 2020Es fácil contribuir al open source - Bolivia JUG 2020
Es fácil contribuir al open source - Bolivia JUG 2020César Hernández
 
Its easy! contributing to open source - Devnexus 2020
Its easy! contributing to open source - Devnexus 2020Its easy! contributing to open source - Devnexus 2020
Its easy! contributing to open source - Devnexus 2020César Hernández
 

Mais de César Hernández (20)

7 Recomendaciones para migrar tus aplicaciones a Jakarta EE utilizando Apache...
7 Recomendaciones para migrar tus aplicaciones a Jakarta EE utilizando Apache...7 Recomendaciones para migrar tus aplicaciones a Jakarta EE utilizando Apache...
7 Recomendaciones para migrar tus aplicaciones a Jakarta EE utilizando Apache...
 
Paving the road with Jakarta EE and Apache TomEE - JCON 2021
Paving the road with Jakarta EE  and Apache TomEE - JCON 2021Paving the road with Jakarta EE  and Apache TomEE - JCON 2021
Paving the road with Jakarta EE and Apache TomEE - JCON 2021
 
7 recomendaciones para migrar tus aplicaciones a Jakarta EE utilizando Apache...
7 recomendaciones para migrar tus aplicaciones a Jakarta EE utilizando Apache...7 recomendaciones para migrar tus aplicaciones a Jakarta EE utilizando Apache...
7 recomendaciones para migrar tus aplicaciones a Jakarta EE utilizando Apache...
 
Keeping brazil's medical industry safe with Micro Profile [TDC 2021]
Keeping brazil's medical industry safe with Micro Profile [TDC 2021]Keeping brazil's medical industry safe with Micro Profile [TDC 2021]
Keeping brazil's medical industry safe with Micro Profile [TDC 2021]
 
Aprende, contribuye, y surfea Cloud Native Java - GuateJUG 2021
Aprende, contribuye, y surfea Cloud Native Java - GuateJUG 2021Aprende, contribuye, y surfea Cloud Native Java - GuateJUG 2021
Aprende, contribuye, y surfea Cloud Native Java - GuateJUG 2021
 
Paving the way with Jakarta EE and Apache TomEE - JCConf
Paving the way with Jakarta EE  and Apache TomEE - JCConfPaving the way with Jakarta EE  and Apache TomEE - JCConf
Paving the way with Jakarta EE and Apache TomEE - JCConf
 
Keeping brazil's medical industry safe with Micro Profile and JakartaEE - Jak...
Keeping brazil's medical industry safe with Micro Profile and JakartaEE - Jak...Keeping brazil's medical industry safe with Micro Profile and JakartaEE - Jak...
Keeping brazil's medical industry safe with Micro Profile and JakartaEE - Jak...
 
Pavimentando el camino con Jakarta EE 9 y Apache TomEE
Pavimentando el camino con Jakarta EE 9 y Apache TomEE Pavimentando el camino con Jakarta EE 9 y Apache TomEE
Pavimentando el camino con Jakarta EE 9 y Apache TomEE
 
It is easy contributing to open source - JCON 2020
It is easy contributing to open source - JCON 2020It is easy contributing to open source - JCON 2020
It is easy contributing to open source - JCON 2020
 
It is easy contributing to Open Source - ECLIPSE CON 2020
It is easy contributing to Open Source - ECLIPSE CON 2020It is easy contributing to Open Source - ECLIPSE CON 2020
It is easy contributing to Open Source - ECLIPSE CON 2020
 
Paving the way with Jakarta EE and apache TomEE at cloudconferenceday
Paving the way with Jakarta EE and apache TomEE at cloudconferencedayPaving the way with Jakarta EE and apache TomEE at cloudconferenceday
Paving the way with Jakarta EE and apache TomEE at cloudconferenceday
 
Pavimentando el Camino con Jakarta EE 9 y Apache TomEE 9.0.0
Pavimentando el Camino con Jakarta EE 9 y Apache TomEE 9.0.0Pavimentando el Camino con Jakarta EE 9 y Apache TomEE 9.0.0
Pavimentando el Camino con Jakarta EE 9 y Apache TomEE 9.0.0
 
Creando microservicios con java micro profile y tomee - CUNORI 2020
Creando microservicios con java micro profile y tomee - CUNORI 2020Creando microservicios con java micro profile y tomee - CUNORI 2020
Creando microservicios con java micro profile y tomee - CUNORI 2020
 
Paving the way with Jakarta EE and Apache TomEE - itkonekt 2020
Paving the way with Jakarta EE and Apache TomEE - itkonekt 2020Paving the way with Jakarta EE and Apache TomEE - itkonekt 2020
Paving the way with Jakarta EE and Apache TomEE - itkonekt 2020
 
Creando microservicios con Java MicroProfile y TomEE - OGBT
Creando microservicios con Java MicroProfile y TomEE  - OGBTCreando microservicios con Java MicroProfile y TomEE  - OGBT
Creando microservicios con Java MicroProfile y TomEE - OGBT
 
Creando microservicios con Java, Microprofile y TomEE - Baranquilla JUG
Creando microservicios con Java, Microprofile y TomEE - Baranquilla JUGCreando microservicios con Java, Microprofile y TomEE - Baranquilla JUG
Creando microservicios con Java, Microprofile y TomEE - Baranquilla JUG
 
Creando microservicios con Java y Microprofile - Nicaragua JUG
Creando microservicios con Java y Microprofile - Nicaragua JUGCreando microservicios con Java y Microprofile - Nicaragua JUG
Creando microservicios con Java y Microprofile - Nicaragua JUG
 
Keeping brazil's medical industry safe with Micro Profile and JakartaEE - Jak...
Keeping brazil's medical industry safe with Micro Profile and JakartaEE - Jak...Keeping brazil's medical industry safe with Micro Profile and JakartaEE - Jak...
Keeping brazil's medical industry safe with Micro Profile and JakartaEE - Jak...
 
Es fácil contribuir al open source - Bolivia JUG 2020
Es fácil contribuir al open source - Bolivia JUG 2020Es fácil contribuir al open source - Bolivia JUG 2020
Es fácil contribuir al open source - Bolivia JUG 2020
 
Its easy! contributing to open source - Devnexus 2020
Its easy! contributing to open source - Devnexus 2020Its easy! contributing to open source - Devnexus 2020
Its easy! contributing to open source - Devnexus 2020
 

Último

EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxJorgeParada26
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estossgonzalezp1
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.FlorenciaCattelani
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIhmpuellon
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativanicho110
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21mariacbr99
 
Guia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosGuia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosJhonJairoRodriguezCe
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxFederico Castellari
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...JohnRamos830530
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxAlan779941
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanamcerpam
 

Último (11)

EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXI
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
Guia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosGuia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos Basicos
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptx
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 

Introducción MongoDB con Java

  • 1. y @CesarHgt César Hernández CesarHernandezGt Java Day Guatemala 2012
  • 2. Agenda •  Evolución •  Retos •  NoSQL •  Tipos NoSQL •  MongoDB •  RDBMS / MongoDB •  Integración con Java
  • 3. Evolución de los sistemas de almacenamiento http://justjacqui2.files.wordpress.com/2011/12/bored-girl-in-classroom.jpg
  • 4. 70's Mainframes Alto costo No distribuido ... +2 mujeres en el mismo cuarto de servidores :O http://plyojump.com/classes/images/computer_history/1950sComputer.jpg
  • 5. 80's 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 90's http://www.surelineelectric.com/ Arquitectura 3n Despega Internet images/pages/Computer- Networking.jpg casi GB
  • 6. 2000's WEB 2.0 BI Business Intelligence OLAP On-Line Analytical Processing 2005 – First 500 GB hard drive http://internet-map.net/
  • 7. Actualidad Retos Alta transaccionalidad Alto volumen datos Alta disponibilidad Tipo de data variable http://m01.cariblogger.com/2010/08/social-networking-4.jpg Objetos complejos MetaData
  • 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. NoSQL Schema free Escalable Horiz. Administración sencilla No Joins Bajo costo Coexistencia RDBMS y DataWarehouse
  • 10. Tipos NoSQL Key/value Graph Column Document
  • 11. Comparación Rendimiento y escalabilidad memcached Key/value RDBMS Funcionalidad
  • 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. RDBMS y MongoDB RDBMS MongoDB Table Collection Fila(s) JSON Document Index Index Join Embedding Partition Shard PArtition Key Shard Key
  • 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. DEMO 1 Instalación, Mongod, Mongo Shell http://insidemc.montgomerycollege.edu/attach/5649145e-eae7-0564-cdf3-8dd21ffede61/computer-praying-to-780774.jpg
  • 17. Modelling http://downloads.xdesktopwallpapers.com/wp-content/uploads/2010/12/Parvati-Vaze-Modeling-Pose.jpg
  • 18. ER para un post
  • 19. Post { autor : "Mario", titulo : "Java Day 2012", texto : "Texto principal", tags : ["java", "day","TI"], votos : 1, comentarios : [ ] }
  • 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. DEMO 2 Inserción y Consultas
  • 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. ¿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. Integración con Java mongo-java-driver Jongo Spring MongoDB
  • 25. DEMO 3 mongo java driver git://github.com/cesarhernandezgt/JavaDay2012.git www.mongodb.org/display/DOCS/Java+Language+Center
  • 26. PREGUNTAS? @CesarHgt César Hernández CesarHernandezGt Java Day Guatemala 2012