SlideShare ist ein Scribd-Unternehmen logo
1 von 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

Weitere ähnliche Inhalte

Andere mochten auch

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
 

Andere mochten auch (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...
 

Ähnlich wie 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
 

Ähnlich wie 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
 

Mehr von 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
 

Mehr von 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
 

Kürzlich hochgeladen

Herramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptxHerramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptxRogerPrieto3
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudianteAndreaHuertas24
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 

Kürzlich hochgeladen (15)

Herramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptxHerramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptx
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 

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