SlideShare ist ein Scribd-Unternehmen logo
1 von 83
Downloaden Sie, um offline zu lesen
mongoDB
       Conceptos básicos
                           Rafael Hernampérez
16 de Junio de 2010
                                MongoSpanish




                      http://www.mongodb.org
mongoDB

 ¿Qué es MongoDB?
mongoDB

 ¿Qué es MongoDB?
   Es una base de datos
mongoDB

 ¿Qué es MongoDB?
   Es una base de datos
       open source
mongoDB

 ¿Qué es MongoDB?
   Es una base de datos
       open source
   de alto rendimiento
mongoDB

 ¿Qué es MongoDB?
   Es una base de datos
       open source
   de alto rendimiento
    de esquema libre
mongoDB

 ¿Qué es MongoDB?
   Es una base de datos
        open source
    de alto rendimiento
     de esquema libre
  orientada a documento
mongoDB

  Uso de MongoDB
mongoDB

     Uso de MongoDB
Muy Recomendado
mongoDB

       Uso de MongoDB
Muy Recomendado
•La Web y la nube en general
mongoDB

       Uso de MongoDB
Muy Recomendado
•La Web y la nube en general
•Entornos distribuidos e impredecibles
mongoDB

       Uso de MongoDB
Muy Recomendado
•La Web y la nube en general
•Entornos distribuidos e impredecibles
•Datos grandes: fotos y vídeos
mongoDB

       Uso de MongoDB
Muy Recomendado
•La Web y la nube en general
•Entornos distribuidos e impredecibles
•Datos grandes: fotos y vídeos
•Cantidad enorme de usuarios
mongoDB

        Uso de MongoDB
Muy Recomendado
•La Web y la nube en general
•Entornos distribuidos e impredecibles
•Datos grandes: fotos y vídeos
•Cantidad enorme de usuarios
•Destreza crítica: desarrollo ágil
mongoDB

       Uso de MongoDB
Muy Recomendado
•La Web y la nube en general
•Entornos distribuidos e impredecibles
•Datos grandes: fotos y vídeos
•Cantidad enorme de usuarios
•Destreza crítica: desarrollo ágil
•Nuevos modelos de programación
mongoDB

       Uso de MongoDB
Muy Recomendado
•La Web y la nube en general
•Entornos distribuidos e impredecibles
•Datos grandes: fotos y vídeos
•Cantidad enorme de usuarios
•Destreza crítica: desarrollo ágil
•Nuevos modelos de programación
•Web en tiempo real: analíticas y
trazabilidad
mongoDB

       Uso de MongoDB
Muy Recomendado
•La Web y la nube en general
•Entornos distribuidos e impredecibles
•Datos grandes: fotos y vídeos
•Cantidad enorme de usuarios
•Destreza crítica: desarrollo ágil
•Nuevos modelos de programación
•Web en tiempo real: analíticas y
trazabilidad
•Cacheo
mongoDB

       Uso de MongoDB
Muy Recomendado
•La Web y la nube en general
•Entornos distribuidos e impredecibles
•Datos grandes: fotos y vídeos
•Cantidad enorme de usuarios
•Destreza crítica: desarrollo ágil
•Nuevos modelos de programación
•Web en tiempo real: analíticas y
trazabilidad
•Cacheo
•Alto volumen de datos
mongoDB

       Uso de MongoDB
Muy Recomendado
•La Web y la nube en general
•Entornos distribuidos e impredecibles
•Datos grandes: fotos y vídeos
•Cantidad enorme de usuarios
•Destreza crítica: desarrollo ágil
•Nuevos modelos de programación
•Web en tiempo real: analíticas y
trazabilidad
•Cacheo
•Alto volumen de datos
•Escalabilidad
mongoDB

       Uso de MongoDB
Muy Recomendado                          Menos Recomendado
•La Web y la nube en general
•Entornos distribuidos e impredecibles
•Datos grandes: fotos y vídeos
•Cantidad enorme de usuarios
•Destreza crítica: desarrollo ágil
•Nuevos modelos de programación
•Web en tiempo real: analíticas y
trazabilidad
•Cacheo
•Alto volumen de datos
•Escalabilidad
mongoDB

       Uso de MongoDB
Muy Recomendado                          Menos Recomendado
•La Web y la nube en general             •Alta transaccionalidad
•Entornos distribuidos e impredecibles
•Datos grandes: fotos y vídeos
•Cantidad enorme de usuarios
•Destreza crítica: desarrollo ágil
•Nuevos modelos de programación
•Web en tiempo real: analíticas y
trazabilidad
•Cacheo
•Alto volumen de datos
•Escalabilidad
mongoDB

       Uso de MongoDB
Muy Recomendado                          Menos Recomendado
•La Web y la nube en general             •Alta transaccionalidad
•Entornos distribuidos e impredecibles   •Business Intelligence Ad-hoc
•Datos grandes: fotos y vídeos
•Cantidad enorme de usuarios
•Destreza crítica: desarrollo ágil
•Nuevos modelos de programación
•Web en tiempo real: analíticas y
trazabilidad
•Cacheo
•Alto volumen de datos
•Escalabilidad
mongoDB

       Uso de MongoDB
Muy Recomendado                          Menos Recomendado
•La Web y la nube en general             •Alta transaccionalidad
•Entornos distribuidos e impredecibles   •Business Intelligence Ad-hoc
•Datos grandes: fotos y vídeos           •Problemas específicos que
                                         requieran SQL
•Cantidad enorme de usuarios
•Destreza crítica: desarrollo ágil
•Nuevos modelos de programación
•Web en tiempo real: analíticas y
trazabilidad
•Cacheo
•Alto volumen de datos
•Escalabilidad
mongoDB

Características destacadas
mongoDB

Características destacadas
•Alta disponibilidad, replicación, auto-fragmentación
mongoDB

Características destacadas
•Alta disponibilidad, replicación, auto-fragmentación
•Escalabilidad
mongoDB

Características destacadas
•Alta disponibilidad, replicación, auto-fragmentación
•Escalabilidad
•Consultas dinámicas
mongoDB

Características destacadas
•Alta disponibilidad, replicación, auto-fragmentación
•Escalabilidad
•Consultas dinámicas
•Actualizaciones atómicas
mongoDB

Características destacadas
•Alta disponibilidad, replicación, auto-fragmentación
•Escalabilidad
•Consultas dinámicas
•Actualizaciones atómicas
•Agregación y MapReduce
mongoDB

Características destacadas
•Alta disponibilidad, replicación, auto-fragmentación
•Escalabilidad
•Consultas dinámicas
•Actualizaciones atómicas
•Agregación y MapReduce
•Optimizador de consultas
mongoDB

Características destacadas
•Alta disponibilidad, replicación, auto-fragmentación
•Escalabilidad
•Consultas dinámicas
•Actualizaciones atómicas
•Agregación y MapReduce
•Optimizador de consultas
•Indices
    •64 índices por colección
    •Indices secundarios
    •Indices únicos
    •Indices geoespaciales
mongoDB

Características destacadas
•Alta disponibilidad, replicación, auto-fragmentación
•Escalabilidad
•Consultas dinámicas
•Actualizaciones atómicas
•Agregación y MapReduce
•Optimizador de consultas
•Indices
    •64 índices por colección
    •Indices secundarios
    •Indices únicos
    •Indices geoespaciales
•Shell basada en JavaScript
mongoDB

Características destacadas
•Alta disponibilidad, replicación, auto-fragmentación
•Escalabilidad
•Consultas dinámicas
•Actualizaciones atómicas
•Agregación y MapReduce
•Optimizador de consultas
•Indices
    •64 índices por colección
    •Indices secundarios
    •Indices únicos
    •Indices geoespaciales
•Shell basada en JavaScript
•Alto rendimiento y eficiencia de recursos
mongoDB

Características destacadas
•Alta disponibilidad, replicación, auto-fragmentación
•Escalabilidad
•Consultas dinámicas
•Actualizaciones atómicas
•Agregación y MapReduce
•Optimizador de consultas
•Indices
    •64 índices por colección
    •Indices secundarios
    •Indices únicos
    •Indices geoespaciales
•Shell basada en JavaScript
•Alto rendimiento y eficiencia de recursos
•Sencillez de administración
mongoDB

Características destacadas
•Alta disponibilidad, replicación, auto-fragmentación
•Escalabilidad
•Consultas dinámicas
•Actualizaciones atómicas
•Agregación y MapReduce
•Optimizador de consultas
•Indices
    •64 índices por colección
    •Indices secundarios
    •Indices únicos
    •Indices geoespaciales
•Shell basada en JavaScript
•Alto rendimiento y eficiencia de recursos
•Sencillez de administración
•Múltiples plataformas: Windows, Linux, Solaris, MacOS X
mongoDB

   Esquemas libres
mongoDB

    Esquemas libres
Aflojamiento de restricciones
mongoDB

    Esquemas libres
Aflojamiento de restricciones
    Flexibilidad añadida
mongoDB

    Esquemas libres
Aflojamiento de restricciones
    Flexibilidad añadida
Dinámicamente interpretado
      por los lenguajes
mongoDB

    Esquemas libres
Aflojamiento de restricciones
    Flexibilidad añadida
Dinámicamente interpretado
      por los lenguajes
   Modelo comprensible
mongoDB
Combinación de rendimiento
     y funcionalidad
                              memcached
Escalabilidad y Rendimiento




                                    Repositorios                 MongoDB
                                    clave/valor




                                                                       RDBMS


                                      Profundidad de Funcionalidad
mongoDB

   Teorema de CAP
mongoDB

    Teorema de CAP
Consistencia
   nombre : “jose”   nombre : “jose”
mongoDB

    Teorema de CAP
Consistencia
   nombre : “jose”   nombre : “jose”


Disponibilidad
mongoDB

    Teorema de CAP
Consistencia
   nombre : “jose”   nombre : “jose”


Disponibilidad

Particionamiento
mongoDB

      Replicación
mongoDB

            Replicación
 Maestro - Esclavo

      Maestro
mongoDB

                 Replicación
      Maestro - Esclavo

           Maestro



Esclavo    Esclavo        Esclavo
mongoDB

                 Replicación
      Maestro - Esclavo

           Maestro



Esclavo    Esclavo        Esclavo



Esclavo
mongoDB

                 Replicación
      Maestro - Esclavo                       Réplica

           Maestro                  Maestro             Esclavo



Esclavo    Esclavo        Esclavo



Esclavo
mongoDB

                 Replicación
      Maestro - Esclavo                       Réplica

           Maestro                  Maestro             Esclavo



Esclavo    Esclavo        Esclavo   Maestro             Esclavo



Esclavo
mongoDB

                 Replicación
      Maestro - Esclavo                       Réplica

           Maestro                  Maestro             Esclavo



Esclavo    Esclavo        Esclavo   Maestro             Esclavo



Esclavo                             Maestro             Maestro
mongoDB

                 Replicación
      Maestro - Esclavo                       Réplica

           Maestro                  Maestro             Esclavo



Esclavo    Esclavo        Esclavo   Maestro             Esclavo



Esclavo                             Maestro             Maestro



                                    Esclavo             Maestro
mongoDB

 Auto-fragmentación
                         Fragmentos

                mongod    mongod      mongod

 Servidores
                mongod    mongod      mongod
Configuración

  mongod

  mongod                  mongos      mongos   …

  mongod

                           Cliente
mongoDB

          Drivers
mongoDB

          Drivers
mongoDB

          Drivers
mongoDB

          Drivers
mongoDB

          Drivers
mongoDB

          Drivers
mongoDB

          Drivers
mongoDB

          Drivers
mongoDB

          Drivers
mongoDB

          Drivers
mongoDB

          Drivers
mongoDB

    En producción
mongoDB

    En producción
mongoDB

    En producción
mongoDB

    En producción
mongoDB

    En producción
mongoDB

    En producción
mongoDB

    En producción
mongoDB

    En producción
mongoDB

    En producción
mongoDB

    En producción
mongoDB

    En producción
mongoDB

 Esquema relacional
mongoDB

                 Esquema libre
post = {
  fecha = Date("04-18-2010"),
  autor = "Rafael Hernamperez",
  titular = "Introduccion a MongoDB",
  resumen = "Texto del resumen",
  articulo = "Bla Bla Bla...",
  etiquetas = ["Base de datos", "NoSQL", "MongoDB"],
  comentarios : [
    { fecha : Date("04-18-2010"),
      autor : "rafinguer",
      texto : "El articulo es sencillo y claro de comprender",
      votantes : [ ObjectID("25C0EF00A012"),
        ObjectID("38FF9CBC41BC"),
        ObjectID("BC9A220100C1")],
      votos: 3},
    { fecha : Date("04-18-2010"),
      autor : "clemenbosque",
      texto : "Parece muy interesante",
      votantes : [ ObjectID("25C0EF00A012"),
        ObjectID("CC1B331211D2")],
      votos : 2}
  ]
}
mongoDB

                          Consultas
// Consultar los posts escritos por Rafael Hernamperez
db.posts.find({autor : “Rafael Hernamperez”})

// Consultar los posts dentro de un rango de fechas en orden descendente
db.posts.find({fecha : {‘$gt’: Date(“04-01-2010”)} ,
  fecha : {‘$lt’: Date(“04-30-2010”)}}).sort({‘fecha’ : -1})

// Consultas con expresiones regulares
db.posts.find({“autor.nombre” : {$not : /Rafael|Eduardo/gi}})

// Operadores condicionales
$ne   $lt    $gt   $lte   $gte
$mod    $not   $where
$exists    $type
$in   $nin    $all   $size   $elemMatch   // arrays
mongoDB

                              Indices
// Indice normal
db.posts.ensureIndex({“fecha” : -1})

// Indice múltiple
db.posts.ensureIndex({“fecha” : -1, “autor” : 1})

// Indice secundario
db.posts.ensureIndex({“comentarios.autor” : 1})

// Indice en background
db.posts.ensureIndex({“comentarios.autor” : 1}, {background: true})

// Indice único
db.posts.ensureIndex({“titular” : 1}, {unique: true})
mongoDB

              Actualizaciones
// Agrega nuevo documento a colección
db.posts.save({…})

// Actualización
db.posts.update({“autor” : “Nerea del Bosque”}, {$push: {etiquetas: “MongoDB”}})
db.posts.update({“autor” : “Nerea del Bosque”}, {$pushAll: {etiquetas:
   [“Bases de datos”, “NoSQL”]}})
db.posts.update({“comentarios.autor” : “Nerea del Bosque”},
   {$inc: {“comentarios.votos”: 1}})

// Eliminación
db.posts.remove({“autor” : “Eduardo Fernandez”})

// Modificadores de actualización
$inc   $set   $unset   $push   $pushAll   $addToSet   $pop   $pull   $pullAll
mongoDB

  Tutorial MongoDB
   http://try.mongodb.org
mongoDB
                               Página oficial
                         http://www.mongodb.org

                          Comunidad en español
                      http://mongospanish.blogspot.com

                                 Twitter
                              @mongospanish


                                                     Rafael Hernampérez
16 de Junio de 2010
                                                          MongoSpanish

Weitere ähnliche Inhalte

Was ist angesagt? (20)

NoSQL - MongoDB
NoSQL - MongoDBNoSQL - MongoDB
NoSQL - MongoDB
 
Mongo bd michael landeo vargas
Mongo bd michael landeo vargasMongo bd michael landeo vargas
Mongo bd michael landeo vargas
 
MongoDB
MongoDBMongoDB
MongoDB
 
Características MONGO DB
Características MONGO DBCaracterísticas MONGO DB
Características MONGO DB
 
Mongodb
MongodbMongodb
Mongodb
 
Mongo db
Mongo dbMongo db
Mongo db
 
Mongo db
Mongo dbMongo db
Mongo db
 
NoSQL: Introducción a las Bases de Datos no estructuradas
NoSQL: Introducción a las Bases de Datos no estructuradasNoSQL: Introducción a las Bases de Datos no estructuradas
NoSQL: Introducción a las Bases de Datos no estructuradas
 
NOSQL: Primeros Pasos en MongoDB
NOSQL: Primeros Pasos en MongoDBNOSQL: Primeros Pasos en MongoDB
NOSQL: Primeros Pasos en MongoDB
 
MongoDB Avanzado
MongoDB AvanzadoMongoDB Avanzado
MongoDB Avanzado
 
Base de datos
Base de datosBase de datos
Base de datos
 
Diapositva
DiapositvaDiapositva
Diapositva
 
Presentacion BD NoSQL
Presentacion  BD NoSQLPresentacion  BD NoSQL
Presentacion BD NoSQL
 
Mongo DB
Mongo DBMongo DB
Mongo DB
 
Bases de datos NoSQL orientadas a documentos
Bases de datos NoSQL orientadas a documentosBases de datos NoSQL orientadas a documentos
Bases de datos NoSQL orientadas a documentos
 
Introducción mongodb y desarrollo
Introducción mongodb y desarrolloIntroducción mongodb y desarrollo
Introducción mongodb y desarrollo
 
MongoDB: la BBDD NoSQL más popular del mercado
MongoDB: la BBDD NoSQL más popular del mercadoMongoDB: la BBDD NoSQL más popular del mercado
MongoDB: la BBDD NoSQL más popular del mercado
 
Sql o NoSql en Informática Médica
Sql o NoSql en Informática MédicaSql o NoSql en Informática Médica
Sql o NoSql en Informática Médica
 
CouchDB y el desarrollo de aplicaciones Android
CouchDB y el desarrollo de aplicaciones AndroidCouchDB y el desarrollo de aplicaciones Android
CouchDB y el desarrollo de aplicaciones Android
 
Mongo db
Mongo dbMongo db
Mongo db
 

Ähnlich wie MongoDB (Conceptos Básicos) - Junio 2010

Replica Sets en MongoDB
Replica Sets en MongoDBReplica Sets en MongoDB
Replica Sets en MongoDBEl Taller Web
 
Flisol 2011 alta disponibilidad y alto desempeño
Flisol 2011   alta disponibilidad y alto desempeñoFlisol 2011   alta disponibilidad y alto desempeño
Flisol 2011 alta disponibilidad y alto desempeñocrio_
 
Introducción a NoSQL con MongoDB
Introducción a NoSQL con MongoDBIntroducción a NoSQL con MongoDB
Introducción a NoSQL con MongoDBErick Camacho
 
Creating Productive Workshops in Scary Situations
Creating Productive Workshops in Scary SituationsCreating Productive Workshops in Scary Situations
Creating Productive Workshops in Scary SituationsEffective
 
Haz tu web con un CMS - (Módulo 2 del curso de HTML5)
Haz tu web con un CMS - (Módulo 2 del curso de HTML5)Haz tu web con un CMS - (Módulo 2 del curso de HTML5)
Haz tu web con un CMS - (Módulo 2 del curso de HTML5)Josep Massó Carreras
 
SpringIO 2012 Madrid-Escalabilidad con Grails
SpringIO 2012 Madrid-Escalabilidad con GrailsSpringIO 2012 Madrid-Escalabilidad con Grails
SpringIO 2012 Madrid-Escalabilidad con GrailsDomingo Suarez Torres
 
Joinea - mongoDB en php y Symfony2
Joinea - mongoDB en php y Symfony2Joinea - mongoDB en php y Symfony2
Joinea - mongoDB en php y Symfony2sergiovier
 
Caso de éxito Drupal - Procomún - DrupalCamp Spain 2016
Caso de éxito Drupal - Procomún - DrupalCamp Spain 2016Caso de éxito Drupal - Procomún - DrupalCamp Spain 2016
Caso de éxito Drupal - Procomún - DrupalCamp Spain 2016La Drupalera
 
Bases de Datos No Relacionales
Bases de Datos No RelacionalesBases de Datos No Relacionales
Bases de Datos No RelacionalesBEEVA_es
 
Curso node.js
Curso node.js Curso node.js
Curso node.js Redradix
 
SGBD Open Source más populares
SGBD Open Source más popularesSGBD Open Source más populares
SGBD Open Source más popularesArsys
 
SGBD open source mas populares
SGBD open source mas popularesSGBD open source mas populares
SGBD open source mas popularesArsys
 

Ähnlich wie MongoDB (Conceptos Básicos) - Junio 2010 (20)

Codemotion cosmosdb
Codemotion cosmosdbCodemotion cosmosdb
Codemotion cosmosdb
 
Introduccón a Mongodb
Introduccón a MongodbIntroduccón a Mongodb
Introduccón a Mongodb
 
Replica Sets en MongoDB
Replica Sets en MongoDBReplica Sets en MongoDB
Replica Sets en MongoDB
 
MEAN ¿otro buzzword?
MEAN ¿otro buzzword?MEAN ¿otro buzzword?
MEAN ¿otro buzzword?
 
PHP y NoSQL PHPConMX 2012
PHP y NoSQL   PHPConMX 2012PHP y NoSQL   PHPConMX 2012
PHP y NoSQL PHPConMX 2012
 
Flisol 2011 alta disponibilidad y alto desempeño
Flisol 2011   alta disponibilidad y alto desempeñoFlisol 2011   alta disponibilidad y alto desempeño
Flisol 2011 alta disponibilidad y alto desempeño
 
Mongo Mapper
Mongo MapperMongo Mapper
Mongo Mapper
 
Introducción a NoSQL con MongoDB
Introducción a NoSQL con MongoDBIntroducción a NoSQL con MongoDB
Introducción a NoSQL con MongoDB
 
JRuby al Rescate de J2EE
JRuby al Rescate de J2EEJRuby al Rescate de J2EE
JRuby al Rescate de J2EE
 
Creating Productive Workshops in Scary Situations
Creating Productive Workshops in Scary SituationsCreating Productive Workshops in Scary Situations
Creating Productive Workshops in Scary Situations
 
Haz tu web con un CMS - (Módulo 2 del curso de HTML5)
Haz tu web con un CMS - (Módulo 2 del curso de HTML5)Haz tu web con un CMS - (Módulo 2 del curso de HTML5)
Haz tu web con un CMS - (Módulo 2 del curso de HTML5)
 
Un viaje por Cosmos DB
Un viaje por Cosmos DBUn viaje por Cosmos DB
Un viaje por Cosmos DB
 
SpringIO 2012 Madrid-Escalabilidad con Grails
SpringIO 2012 Madrid-Escalabilidad con GrailsSpringIO 2012 Madrid-Escalabilidad con Grails
SpringIO 2012 Madrid-Escalabilidad con Grails
 
Joinea - mongoDB en php y Symfony2
Joinea - mongoDB en php y Symfony2Joinea - mongoDB en php y Symfony2
Joinea - mongoDB en php y Symfony2
 
Caso de éxito Drupal - Procomún - DrupalCamp Spain 2016
Caso de éxito Drupal - Procomún - DrupalCamp Spain 2016Caso de éxito Drupal - Procomún - DrupalCamp Spain 2016
Caso de éxito Drupal - Procomún - DrupalCamp Spain 2016
 
Mongo db course introduction
Mongo db course   introductionMongo db course   introduction
Mongo db course introduction
 
Bases de Datos No Relacionales
Bases de Datos No RelacionalesBases de Datos No Relacionales
Bases de Datos No Relacionales
 
Curso node.js
Curso node.js Curso node.js
Curso node.js
 
SGBD Open Source más populares
SGBD Open Source más popularesSGBD Open Source más populares
SGBD Open Source más populares
 
SGBD open source mas populares
SGBD open source mas popularesSGBD open source mas populares
SGBD open source mas populares
 

Kürzlich hochgeladen

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
 
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
 
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
 
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
 
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
 
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
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
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
 
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
 
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
 
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
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
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
 
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
 

Kürzlich hochgeladen (15)

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
 
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
 
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
 
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
 
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...
 
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
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
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
 
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
 
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
 
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)
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
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
 
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
 

MongoDB (Conceptos Básicos) - Junio 2010

  • 1. mongoDB Conceptos básicos Rafael Hernampérez 16 de Junio de 2010 MongoSpanish http://www.mongodb.org
  • 2. mongoDB ¿Qué es MongoDB?
  • 3. mongoDB ¿Qué es MongoDB? Es una base de datos
  • 4. mongoDB ¿Qué es MongoDB? Es una base de datos open source
  • 5. mongoDB ¿Qué es MongoDB? Es una base de datos open source de alto rendimiento
  • 6. mongoDB ¿Qué es MongoDB? Es una base de datos open source de alto rendimiento de esquema libre
  • 7. mongoDB ¿Qué es MongoDB? Es una base de datos open source de alto rendimiento de esquema libre orientada a documento
  • 8. mongoDB Uso de MongoDB
  • 9. mongoDB Uso de MongoDB Muy Recomendado
  • 10. mongoDB Uso de MongoDB Muy Recomendado •La Web y la nube en general
  • 11. mongoDB Uso de MongoDB Muy Recomendado •La Web y la nube en general •Entornos distribuidos e impredecibles
  • 12. mongoDB Uso de MongoDB Muy Recomendado •La Web y la nube en general •Entornos distribuidos e impredecibles •Datos grandes: fotos y vídeos
  • 13. mongoDB Uso de MongoDB Muy Recomendado •La Web y la nube en general •Entornos distribuidos e impredecibles •Datos grandes: fotos y vídeos •Cantidad enorme de usuarios
  • 14. mongoDB Uso de MongoDB Muy Recomendado •La Web y la nube en general •Entornos distribuidos e impredecibles •Datos grandes: fotos y vídeos •Cantidad enorme de usuarios •Destreza crítica: desarrollo ágil
  • 15. mongoDB Uso de MongoDB Muy Recomendado •La Web y la nube en general •Entornos distribuidos e impredecibles •Datos grandes: fotos y vídeos •Cantidad enorme de usuarios •Destreza crítica: desarrollo ágil •Nuevos modelos de programación
  • 16. mongoDB Uso de MongoDB Muy Recomendado •La Web y la nube en general •Entornos distribuidos e impredecibles •Datos grandes: fotos y vídeos •Cantidad enorme de usuarios •Destreza crítica: desarrollo ágil •Nuevos modelos de programación •Web en tiempo real: analíticas y trazabilidad
  • 17. mongoDB Uso de MongoDB Muy Recomendado •La Web y la nube en general •Entornos distribuidos e impredecibles •Datos grandes: fotos y vídeos •Cantidad enorme de usuarios •Destreza crítica: desarrollo ágil •Nuevos modelos de programación •Web en tiempo real: analíticas y trazabilidad •Cacheo
  • 18. mongoDB Uso de MongoDB Muy Recomendado •La Web y la nube en general •Entornos distribuidos e impredecibles •Datos grandes: fotos y vídeos •Cantidad enorme de usuarios •Destreza crítica: desarrollo ágil •Nuevos modelos de programación •Web en tiempo real: analíticas y trazabilidad •Cacheo •Alto volumen de datos
  • 19. mongoDB Uso de MongoDB Muy Recomendado •La Web y la nube en general •Entornos distribuidos e impredecibles •Datos grandes: fotos y vídeos •Cantidad enorme de usuarios •Destreza crítica: desarrollo ágil •Nuevos modelos de programación •Web en tiempo real: analíticas y trazabilidad •Cacheo •Alto volumen de datos •Escalabilidad
  • 20. mongoDB Uso de MongoDB Muy Recomendado Menos Recomendado •La Web y la nube en general •Entornos distribuidos e impredecibles •Datos grandes: fotos y vídeos •Cantidad enorme de usuarios •Destreza crítica: desarrollo ágil •Nuevos modelos de programación •Web en tiempo real: analíticas y trazabilidad •Cacheo •Alto volumen de datos •Escalabilidad
  • 21. mongoDB Uso de MongoDB Muy Recomendado Menos Recomendado •La Web y la nube en general •Alta transaccionalidad •Entornos distribuidos e impredecibles •Datos grandes: fotos y vídeos •Cantidad enorme de usuarios •Destreza crítica: desarrollo ágil •Nuevos modelos de programación •Web en tiempo real: analíticas y trazabilidad •Cacheo •Alto volumen de datos •Escalabilidad
  • 22. mongoDB Uso de MongoDB Muy Recomendado Menos Recomendado •La Web y la nube en general •Alta transaccionalidad •Entornos distribuidos e impredecibles •Business Intelligence Ad-hoc •Datos grandes: fotos y vídeos •Cantidad enorme de usuarios •Destreza crítica: desarrollo ágil •Nuevos modelos de programación •Web en tiempo real: analíticas y trazabilidad •Cacheo •Alto volumen de datos •Escalabilidad
  • 23. mongoDB Uso de MongoDB Muy Recomendado Menos Recomendado •La Web y la nube en general •Alta transaccionalidad •Entornos distribuidos e impredecibles •Business Intelligence Ad-hoc •Datos grandes: fotos y vídeos •Problemas específicos que requieran SQL •Cantidad enorme de usuarios •Destreza crítica: desarrollo ágil •Nuevos modelos de programación •Web en tiempo real: analíticas y trazabilidad •Cacheo •Alto volumen de datos •Escalabilidad
  • 26. mongoDB Características destacadas •Alta disponibilidad, replicación, auto-fragmentación •Escalabilidad
  • 27. mongoDB Características destacadas •Alta disponibilidad, replicación, auto-fragmentación •Escalabilidad •Consultas dinámicas
  • 28. mongoDB Características destacadas •Alta disponibilidad, replicación, auto-fragmentación •Escalabilidad •Consultas dinámicas •Actualizaciones atómicas
  • 29. mongoDB Características destacadas •Alta disponibilidad, replicación, auto-fragmentación •Escalabilidad •Consultas dinámicas •Actualizaciones atómicas •Agregación y MapReduce
  • 30. mongoDB Características destacadas •Alta disponibilidad, replicación, auto-fragmentación •Escalabilidad •Consultas dinámicas •Actualizaciones atómicas •Agregación y MapReduce •Optimizador de consultas
  • 31. mongoDB Características destacadas •Alta disponibilidad, replicación, auto-fragmentación •Escalabilidad •Consultas dinámicas •Actualizaciones atómicas •Agregación y MapReduce •Optimizador de consultas •Indices •64 índices por colección •Indices secundarios •Indices únicos •Indices geoespaciales
  • 32. mongoDB Características destacadas •Alta disponibilidad, replicación, auto-fragmentación •Escalabilidad •Consultas dinámicas •Actualizaciones atómicas •Agregación y MapReduce •Optimizador de consultas •Indices •64 índices por colección •Indices secundarios •Indices únicos •Indices geoespaciales •Shell basada en JavaScript
  • 33. mongoDB Características destacadas •Alta disponibilidad, replicación, auto-fragmentación •Escalabilidad •Consultas dinámicas •Actualizaciones atómicas •Agregación y MapReduce •Optimizador de consultas •Indices •64 índices por colección •Indices secundarios •Indices únicos •Indices geoespaciales •Shell basada en JavaScript •Alto rendimiento y eficiencia de recursos
  • 34. mongoDB Características destacadas •Alta disponibilidad, replicación, auto-fragmentación •Escalabilidad •Consultas dinámicas •Actualizaciones atómicas •Agregación y MapReduce •Optimizador de consultas •Indices •64 índices por colección •Indices secundarios •Indices únicos •Indices geoespaciales •Shell basada en JavaScript •Alto rendimiento y eficiencia de recursos •Sencillez de administración
  • 35. mongoDB Características destacadas •Alta disponibilidad, replicación, auto-fragmentación •Escalabilidad •Consultas dinámicas •Actualizaciones atómicas •Agregación y MapReduce •Optimizador de consultas •Indices •64 índices por colección •Indices secundarios •Indices únicos •Indices geoespaciales •Shell basada en JavaScript •Alto rendimiento y eficiencia de recursos •Sencillez de administración •Múltiples plataformas: Windows, Linux, Solaris, MacOS X
  • 36. mongoDB Esquemas libres
  • 37. mongoDB Esquemas libres Aflojamiento de restricciones
  • 38. mongoDB Esquemas libres Aflojamiento de restricciones Flexibilidad añadida
  • 39. mongoDB Esquemas libres Aflojamiento de restricciones Flexibilidad añadida Dinámicamente interpretado por los lenguajes
  • 40. mongoDB Esquemas libres Aflojamiento de restricciones Flexibilidad añadida Dinámicamente interpretado por los lenguajes Modelo comprensible
  • 41. mongoDB Combinación de rendimiento y funcionalidad memcached Escalabilidad y Rendimiento Repositorios MongoDB clave/valor RDBMS Profundidad de Funcionalidad
  • 42. mongoDB Teorema de CAP
  • 43. mongoDB Teorema de CAP Consistencia nombre : “jose” nombre : “jose”
  • 44. mongoDB Teorema de CAP Consistencia nombre : “jose” nombre : “jose” Disponibilidad
  • 45. mongoDB Teorema de CAP Consistencia nombre : “jose” nombre : “jose” Disponibilidad Particionamiento
  • 46. mongoDB Replicación
  • 47. mongoDB Replicación Maestro - Esclavo Maestro
  • 48. mongoDB Replicación Maestro - Esclavo Maestro Esclavo Esclavo Esclavo
  • 49. mongoDB Replicación Maestro - Esclavo Maestro Esclavo Esclavo Esclavo Esclavo
  • 50. mongoDB Replicación Maestro - Esclavo Réplica Maestro Maestro Esclavo Esclavo Esclavo Esclavo Esclavo
  • 51. mongoDB Replicación Maestro - Esclavo Réplica Maestro Maestro Esclavo Esclavo Esclavo Esclavo Maestro Esclavo Esclavo
  • 52. mongoDB Replicación Maestro - Esclavo Réplica Maestro Maestro Esclavo Esclavo Esclavo Esclavo Maestro Esclavo Esclavo Maestro Maestro
  • 53. mongoDB Replicación Maestro - Esclavo Réplica Maestro Maestro Esclavo Esclavo Esclavo Esclavo Maestro Esclavo Esclavo Maestro Maestro Esclavo Maestro
  • 54. mongoDB Auto-fragmentación Fragmentos mongod mongod mongod Servidores mongod mongod mongod Configuración mongod mongod mongos mongos … mongod Cliente
  • 55. mongoDB Drivers
  • 56. mongoDB Drivers
  • 57. mongoDB Drivers
  • 58. mongoDB Drivers
  • 59. mongoDB Drivers
  • 60. mongoDB Drivers
  • 61. mongoDB Drivers
  • 62. mongoDB Drivers
  • 63. mongoDB Drivers
  • 64. mongoDB Drivers
  • 65. mongoDB Drivers
  • 66. mongoDB En producción
  • 67. mongoDB En producción
  • 68. mongoDB En producción
  • 69. mongoDB En producción
  • 70. mongoDB En producción
  • 71. mongoDB En producción
  • 72. mongoDB En producción
  • 73. mongoDB En producción
  • 74. mongoDB En producción
  • 75. mongoDB En producción
  • 76. mongoDB En producción
  • 78. mongoDB Esquema libre post = { fecha = Date("04-18-2010"), autor = "Rafael Hernamperez", titular = "Introduccion a MongoDB", resumen = "Texto del resumen", articulo = "Bla Bla Bla...", etiquetas = ["Base de datos", "NoSQL", "MongoDB"], comentarios : [ { fecha : Date("04-18-2010"), autor : "rafinguer", texto : "El articulo es sencillo y claro de comprender", votantes : [ ObjectID("25C0EF00A012"), ObjectID("38FF9CBC41BC"), ObjectID("BC9A220100C1")], votos: 3}, { fecha : Date("04-18-2010"), autor : "clemenbosque", texto : "Parece muy interesante", votantes : [ ObjectID("25C0EF00A012"), ObjectID("CC1B331211D2")], votos : 2} ] }
  • 79. mongoDB Consultas // Consultar los posts escritos por Rafael Hernamperez db.posts.find({autor : “Rafael Hernamperez”}) // Consultar los posts dentro de un rango de fechas en orden descendente db.posts.find({fecha : {‘$gt’: Date(“04-01-2010”)} , fecha : {‘$lt’: Date(“04-30-2010”)}}).sort({‘fecha’ : -1}) // Consultas con expresiones regulares db.posts.find({“autor.nombre” : {$not : /Rafael|Eduardo/gi}}) // Operadores condicionales $ne $lt $gt $lte $gte $mod $not $where $exists $type $in $nin $all $size $elemMatch // arrays
  • 80. mongoDB Indices // Indice normal db.posts.ensureIndex({“fecha” : -1}) // Indice múltiple db.posts.ensureIndex({“fecha” : -1, “autor” : 1}) // Indice secundario db.posts.ensureIndex({“comentarios.autor” : 1}) // Indice en background db.posts.ensureIndex({“comentarios.autor” : 1}, {background: true}) // Indice único db.posts.ensureIndex({“titular” : 1}, {unique: true})
  • 81. mongoDB Actualizaciones // Agrega nuevo documento a colección db.posts.save({…}) // Actualización db.posts.update({“autor” : “Nerea del Bosque”}, {$push: {etiquetas: “MongoDB”}}) db.posts.update({“autor” : “Nerea del Bosque”}, {$pushAll: {etiquetas: [“Bases de datos”, “NoSQL”]}}) db.posts.update({“comentarios.autor” : “Nerea del Bosque”}, {$inc: {“comentarios.votos”: 1}}) // Eliminación db.posts.remove({“autor” : “Eduardo Fernandez”}) // Modificadores de actualización $inc $set $unset $push $pushAll $addToSet $pop $pull $pullAll
  • 82. mongoDB Tutorial MongoDB http://try.mongodb.org
  • 83. mongoDB Página oficial http://www.mongodb.org Comunidad en español http://mongospanish.blogspot.com Twitter @mongospanish Rafael Hernampérez 16 de Junio de 2010 MongoSpanish