SlideShare a Scribd company logo
1 of 20
Curso de Iniciación de
- Indice -


    ¿Que es MongoDB?            Herramientas útiles

    ¿Porque usar MongoDB?       Preguntas...

    Ventajas e Inconvenientes   Recomendaciones

    Como empezar...             Contacto

    La Shell

    Bson - Json

    Queries basicas
¿Que es MongoDB?


    Es un tipo de almacenamiento clave:valor con HA
        −   Los datos almacenados no requieren estructuras fijas
        −   No requieren dependencias entre documentos

    Base de datos orientada a Documentos

    La estructura de datos tiene 2 formatos:
        −   Json: Representación para “humanos” de los datos
            dentro de un documento
        −   Bson: Versión binaria del Json, almacenamiento real de
            los datos
¿Que es MongoDB?


    Operaciones atómicas

    Indices
        −      Un indice es básicamente un orientador, te permite
               mostrar de forma eficaz los elementos que buscas
        −      Esto es un arma de doble filo

    Clusters
        −      Permite la creación de clusters inteligentes
        −      Replica Set, Sharding, Maestro-esclavo ...
¿Porque usar MongoDB?

   Son mas rápidas que cualquier SQL
   Soportan la escritura de un gran volumen de datos
    simultáneamente
   Auto-sharding y Escalado Horizontal sin afectar a la
    funcionalidad del producto
   Soporta muchos lenguajes de programación
   Fácil para su administración y fácil para el desarrollo
   Y mucho más...
Ventajas


    Escalable

    Alto rendimiento

    Open Source

    Sin esquemas

    Uso de Memoria en vez del disco como principal ubicación de
    escritura

    Escala muy bien con arquitecturas Cloud

    AutoSharding
Inconvenientes


    Open source

    Las empresas consideran que no es un producto maduro

    Requiere conocimientos de programación

    Falta de especialización

    No escala con herramientas de Business Intelligence

    Migración casi imposible de un proveedor a otro

    Cada NoSQL no tiene sus normas, no hay estándar
Como empezar...

   Guiás de Instalación
   Versión recomendada: 2.2
        −   Tiene muchas mejoras, sobre todo de seguridad con
            respecto a sus antecesores
   Drivers y Frameworks
   Curso impartido por 10Gen - Recomendado 100%
La Shell

   Esta es la pantalla de Help:




   Descripcion de las acciones de ayuda
La Shell

   Para acceder a la Shell tenemos que tener un demonio de base de datos
    levantado




   Al estar basada en JS podemos usar ventajas como asignación de
    variables, bucles y tratamiento de objetos
Bson - Json


    Bson es la representación binaria de un JSON, lo usa
    MongoDB internamente para tratar con la propia
    aplicación y operaciones internas dentro de la base de
    datos. Esto frente a ataques es una manera de dificultar la
    lectura en plano de los datos.

    Un Json es formato de datos muy “friendly” para los
    programadores, esta basado en “clave:valor” y esto hace
    muy simple el desarrollo de la aplicación de cara las Dbs.

    Cuesta acostumbrarse, pero después lo agradeces.
Bson - Json


    Tipos de datos por JSON:
        −   Strings             “x”:”yo”,
        −   Numbers             “y”:25,
        −   Bools               “z”:True,
        −   Null                “v”:null,
        −   Arrays              “c”:[1,2],
        −   Objects/documents   “b”:{“city”:”Madrid”}
Queries
   Ejemplos de uso
        −   db.user.find({“userName”:”Paco”,”age”:22})
        −   db.user.insert({“userName”:”Ana”,”age”:19,”city”:”Madrid”
            })
        −   db.user.remove({“userName”:”Paco”})
        −   db.user.update({“userName”:”Jhon”}, {$set:
            {“userName”:Jhony”}})
        −   db.user.update({“userName”:”Jhon”}, {$set:
            {“userName”:Jhony”}},1,1)
                  El 1º 1 significa cambio multiple
                  El 2º 1 significa que si el campo no existe, lo crea
                  Por defecto estan a 0
Queries Basicas

   Ejemplos prácticos:




   Recomendación personal, antes de hacer una
    modificación, hacer un backup
Queries Basicas

Modificadores de busqueda:
   $all                      $nor
   $exists                   $size
   $mod                      $type
   $ne                       Regex
   $in
   $nin
   $or
Herramientas


    Herramientas de MongoDB:
       −   Mongoimport: Importar una DB
       −   Mongoexport: Exportar una DB
       −   Mongodump: Herramienta de Backup
       −   Mongorestore: Herramienta de Restauración
       −   Mongostat: Muestra el estatus del servicio de
           MongoDB
Preguntas
Recomendaciones

DBA: Scaling MongoDB   DEV: 50 Tips & Tricks for
                        MongoDB Developers
Creditos

Nombre: Juan Manuel Parrilla
Puesto: Release Engineer en Telefonica I+D por Amaris
Contacto: juanmanuel.parrilla@amaris.com
Contacto Adicional: jmp.tid@gmail.com
Skype: jmp_tid
Twitter: @kerbeross
Mongo db course   introduction

More Related Content

Viewers also liked

Sevilla Mongo Developers Group - MongoDB: Cómo aprendimos que la culpa era nu...
Sevilla Mongo Developers Group - MongoDB: Cómo aprendimos que la culpa era nu...Sevilla Mongo Developers Group - MongoDB: Cómo aprendimos que la culpa era nu...
Sevilla Mongo Developers Group - MongoDB: Cómo aprendimos que la culpa era nu...Francisco Javier Baena Ríos
 
Webminar - Novedades de MongoDB 3.2
Webminar - Novedades de MongoDB 3.2Webminar - Novedades de MongoDB 3.2
Webminar - Novedades de MongoDB 3.2Sam_Francis
 
Así que pusiste MongoDB. Dime ¿cómo lo administras?
Así que pusiste MongoDB. Dime ¿cómo lo administras?Así que pusiste MongoDB. Dime ¿cómo lo administras?
Así que pusiste MongoDB. Dime ¿cómo lo administras?Alejandro E Brito Monedero
 
Procesamiento masivo de datos en MongoDB
Procesamiento masivo de datos en MongoDBProcesamiento masivo de datos en MongoDB
Procesamiento masivo de datos en MongoDBStratio
 
Mongo db improve the performance of your application codemotion2016
Mongo db improve the performance of your application codemotion2016Mongo db improve the performance of your application codemotion2016
Mongo db improve the performance of your application codemotion2016Juan Antonio Roy Couto
 
Postgres como base de datos NoSQL. Codemotion 2015
Postgres como base de datos NoSQL. Codemotion 2015Postgres como base de datos NoSQL. Codemotion 2015
Postgres como base de datos NoSQL. Codemotion 2015Ruben Gómez García
 
mongoDB - Arquitectura y Componentes
mongoDB - Arquitectura y ComponentesmongoDB - Arquitectura y Componentes
mongoDB - Arquitectura y Componentesomenar
 
Transitioning from SQL to MongoDB
Transitioning from SQL to MongoDBTransitioning from SQL to MongoDB
Transitioning from SQL to MongoDBMongoDB
 
Back to Basics Webinar 1: Introduction to NoSQL
Back to Basics Webinar 1: Introduction to NoSQLBack to Basics Webinar 1: Introduction to NoSQL
Back to Basics Webinar 1: Introduction to NoSQLMongoDB
 

Viewers also liked (12)

Sevilla Mongo Developers Group - MongoDB: Cómo aprendimos que la culpa era nu...
Sevilla Mongo Developers Group - MongoDB: Cómo aprendimos que la culpa era nu...Sevilla Mongo Developers Group - MongoDB: Cómo aprendimos que la culpa era nu...
Sevilla Mongo Developers Group - MongoDB: Cómo aprendimos que la culpa era nu...
 
Webminar - Novedades de MongoDB 3.2
Webminar - Novedades de MongoDB 3.2Webminar - Novedades de MongoDB 3.2
Webminar - Novedades de MongoDB 3.2
 
Gestión de índices en MongoDB
Gestión de índices en MongoDBGestión de índices en MongoDB
Gestión de índices en MongoDB
 
Así que pusiste MongoDB. Dime ¿cómo lo administras?
Así que pusiste MongoDB. Dime ¿cómo lo administras?Así que pusiste MongoDB. Dime ¿cómo lo administras?
Así que pusiste MongoDB. Dime ¿cómo lo administras?
 
Emr hive barcamp 2012
Emr hive   barcamp 2012Emr hive   barcamp 2012
Emr hive barcamp 2012
 
MongoDB - Madrid Devops Febrero
MongoDB - Madrid Devops FebreroMongoDB - Madrid Devops Febrero
MongoDB - Madrid Devops Febrero
 
Procesamiento masivo de datos en MongoDB
Procesamiento masivo de datos en MongoDBProcesamiento masivo de datos en MongoDB
Procesamiento masivo de datos en MongoDB
 
Mongo db improve the performance of your application codemotion2016
Mongo db improve the performance of your application codemotion2016Mongo db improve the performance of your application codemotion2016
Mongo db improve the performance of your application codemotion2016
 
Postgres como base de datos NoSQL. Codemotion 2015
Postgres como base de datos NoSQL. Codemotion 2015Postgres como base de datos NoSQL. Codemotion 2015
Postgres como base de datos NoSQL. Codemotion 2015
 
mongoDB - Arquitectura y Componentes
mongoDB - Arquitectura y ComponentesmongoDB - Arquitectura y Componentes
mongoDB - Arquitectura y Componentes
 
Transitioning from SQL to MongoDB
Transitioning from SQL to MongoDBTransitioning from SQL to MongoDB
Transitioning from SQL to MongoDB
 
Back to Basics Webinar 1: Introduction to NoSQL
Back to Basics Webinar 1: Introduction to NoSQLBack to Basics Webinar 1: Introduction to NoSQL
Back to Basics Webinar 1: Introduction to NoSQL
 

Similar to Mongo db course introduction

Similar to Mongo db course introduction (20)

NOSQL: Primeros Pasos en MongoDB
NOSQL: Primeros Pasos en MongoDBNOSQL: Primeros Pasos en MongoDB
NOSQL: Primeros Pasos en MongoDB
 
1 tutorial de mongo db
1 tutorial de mongo db1 tutorial de mongo db
1 tutorial de mongo db
 
Jean piere sarumo mongodb
Jean piere sarumo mongodbJean piere sarumo mongodb
Jean piere sarumo mongodb
 
FULLSTACK JS DEV in 2017
FULLSTACK JS DEV in 2017FULLSTACK JS DEV in 2017
FULLSTACK JS DEV in 2017
 
Especialista Web J4
Especialista Web   J4Especialista Web   J4
Especialista Web J4
 
Semana 3 Mongodb
Semana 3   MongodbSemana 3   Mongodb
Semana 3 Mongodb
 
MONGODB - NOSQL
MONGODB - NOSQLMONGODB - NOSQL
MONGODB - NOSQL
 
Análisis de Datos con MongoDB
Análisis de Datos con MongoDBAnálisis de Datos con MongoDB
Análisis de Datos con MongoDB
 
Introduccón a Mongodb
Introduccón a MongodbIntroduccón a Mongodb
Introduccón a Mongodb
 
Servicios de base de datos multimodelo NoSQL con Azure CosmosDB y aplicación...
Servicios de base de datos multimodelo  NoSQL con Azure CosmosDB y aplicación...Servicios de base de datos multimodelo  NoSQL con Azure CosmosDB y aplicación...
Servicios de base de datos multimodelo NoSQL con Azure CosmosDB y aplicación...
 
Mongo db dtalk
Mongo db dtalkMongo db dtalk
Mongo db dtalk
 
¿que es mongodb?
¿que es mongodb?¿que es mongodb?
¿que es mongodb?
 
Bases De Datos Orientadas A Objetos2
Bases De Datos Orientadas A Objetos2Bases De Datos Orientadas A Objetos2
Bases De Datos Orientadas A Objetos2
 
Greach 2011 - Engrandeciendo Grails con Mongo DB
Greach 2011 - Engrandeciendo Grails con Mongo DBGreach 2011 - Engrandeciendo Grails con Mongo DB
Greach 2011 - Engrandeciendo Grails con Mongo DB
 
Mallorca MUG: Introducción a MongoDB
Mallorca MUG: Introducción a MongoDBMallorca MUG: Introducción a MongoDB
Mallorca MUG: Introducción a MongoDB
 
Mongo db
Mongo dbMongo db
Mongo db
 
Conexion a bases de datos
Conexion a bases de datosConexion a bases de datos
Conexion a bases de datos
 
Creacion de base de dato
Creacion de base de datoCreacion de base de dato
Creacion de base de dato
 
Creacion de-base-de-dato
Creacion de-base-de-datoCreacion de-base-de-dato
Creacion de-base-de-dato
 
Introduccion BD - 02
Introduccion BD - 02Introduccion BD - 02
Introduccion BD - 02
 

Recently uploaded

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
 
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
 
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
 
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
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfJulian Lamprea
 
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
 
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
 
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
 
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
 
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
 

Recently uploaded (10)

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
 
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
 
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
 
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
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
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
 
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...
 
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
 
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)
 
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
 

Mongo db course introduction

  • 2. - Indice -  ¿Que es MongoDB? Herramientas útiles  ¿Porque usar MongoDB? Preguntas...  Ventajas e Inconvenientes Recomendaciones  Como empezar... Contacto  La Shell  Bson - Json  Queries basicas
  • 3. ¿Que es MongoDB?  Es un tipo de almacenamiento clave:valor con HA − Los datos almacenados no requieren estructuras fijas − No requieren dependencias entre documentos  Base de datos orientada a Documentos  La estructura de datos tiene 2 formatos: − Json: Representación para “humanos” de los datos dentro de un documento − Bson: Versión binaria del Json, almacenamiento real de los datos
  • 4. ¿Que es MongoDB?  Operaciones atómicas  Indices − Un indice es básicamente un orientador, te permite mostrar de forma eficaz los elementos que buscas − Esto es un arma de doble filo  Clusters − Permite la creación de clusters inteligentes − Replica Set, Sharding, Maestro-esclavo ...
  • 5. ¿Porque usar MongoDB?  Son mas rápidas que cualquier SQL  Soportan la escritura de un gran volumen de datos simultáneamente  Auto-sharding y Escalado Horizontal sin afectar a la funcionalidad del producto  Soporta muchos lenguajes de programación  Fácil para su administración y fácil para el desarrollo  Y mucho más...
  • 6. Ventajas  Escalable  Alto rendimiento  Open Source  Sin esquemas  Uso de Memoria en vez del disco como principal ubicación de escritura  Escala muy bien con arquitecturas Cloud  AutoSharding
  • 7. Inconvenientes  Open source  Las empresas consideran que no es un producto maduro  Requiere conocimientos de programación  Falta de especialización  No escala con herramientas de Business Intelligence  Migración casi imposible de un proveedor a otro  Cada NoSQL no tiene sus normas, no hay estándar
  • 8. Como empezar...  Guiás de Instalación  Versión recomendada: 2.2 − Tiene muchas mejoras, sobre todo de seguridad con respecto a sus antecesores  Drivers y Frameworks  Curso impartido por 10Gen - Recomendado 100%
  • 9. La Shell  Esta es la pantalla de Help:  Descripcion de las acciones de ayuda
  • 10. La Shell  Para acceder a la Shell tenemos que tener un demonio de base de datos levantado  Al estar basada en JS podemos usar ventajas como asignación de variables, bucles y tratamiento de objetos
  • 11. Bson - Json  Bson es la representación binaria de un JSON, lo usa MongoDB internamente para tratar con la propia aplicación y operaciones internas dentro de la base de datos. Esto frente a ataques es una manera de dificultar la lectura en plano de los datos.  Un Json es formato de datos muy “friendly” para los programadores, esta basado en “clave:valor” y esto hace muy simple el desarrollo de la aplicación de cara las Dbs.  Cuesta acostumbrarse, pero después lo agradeces.
  • 12. Bson - Json  Tipos de datos por JSON: − Strings “x”:”yo”, − Numbers “y”:25, − Bools “z”:True, − Null “v”:null, − Arrays “c”:[1,2], − Objects/documents “b”:{“city”:”Madrid”}
  • 13. Queries  Ejemplos de uso − db.user.find({“userName”:”Paco”,”age”:22}) − db.user.insert({“userName”:”Ana”,”age”:19,”city”:”Madrid” }) − db.user.remove({“userName”:”Paco”}) − db.user.update({“userName”:”Jhon”}, {$set: {“userName”:Jhony”}}) − db.user.update({“userName”:”Jhon”}, {$set: {“userName”:Jhony”}},1,1)  El 1º 1 significa cambio multiple  El 2º 1 significa que si el campo no existe, lo crea  Por defecto estan a 0
  • 14. Queries Basicas  Ejemplos prácticos:  Recomendación personal, antes de hacer una modificación, hacer un backup
  • 15. Queries Basicas Modificadores de busqueda: $all $nor $exists $size $mod $type $ne Regex $in $nin $or
  • 16. Herramientas  Herramientas de MongoDB: − Mongoimport: Importar una DB − Mongoexport: Exportar una DB − Mongodump: Herramienta de Backup − Mongorestore: Herramienta de Restauración − Mongostat: Muestra el estatus del servicio de MongoDB
  • 18. Recomendaciones DBA: Scaling MongoDB DEV: 50 Tips & Tricks for MongoDB Developers
  • 19. Creditos Nombre: Juan Manuel Parrilla Puesto: Release Engineer en Telefonica I+D por Amaris Contacto: juanmanuel.parrilla@amaris.com Contacto Adicional: jmp.tid@gmail.com Skype: jmp_tid Twitter: @kerbeross

Editor's Notes

  1. Db = especificas que la acción que vas a realizar es sobre la DB en uso. db.help = Acciones que puedes realizar sobre la base de datos. db.<colección>.help = Acciones que vas a realizar sobre una colección de la DB en uso. Help <zona> = Info general sobre una parte concreta de MongoDB Show = Muestra la info de DB, usuarios... db.<colección>.<accion> =Ejecutas una accion sobre una colección de una DB
  2. $all : Para indicar que el array almacenado como valor del atributo debe tener los mismos elementos que el proporcionado en la condición. $exists : Para comprobar que el atributo existe en el documento. $mod : Para comprobar el resto de una división del valor del atributo por un número. $ne : Para indicar que el valor no puede ser el proporcionado. $in : Para indicar que el valor debe estar entre alguno de los proporcionados. $nin : Contrario de $in. $or : Para indicar que se debe cumplir al menos una condición de entre un grupo de condiciones. $nor : Contrario de $or. $size : Para indicar el número de elementos que debe haber en el array almacenado como valor. $type : Para comprobar el tipo del valor almacenado (número, cadena…) EG: Por ejemplo, {keywords: 'storage'} encontrará todos los documentos que incluyen 'storage' en su vector keywords. De igual forma, {keywords: {$in: ['storage', 'DBMS']} encontrará todos los documentos con 'storage' o 'DBMS' en su vector keywords. Regex : El valor debe concordar con la expresión regular indicada. EG: {nombre.apellido:/^d/} encontrará todos los documentos con un apellido comenzando en 'd' (correspondencia por expresión regular).