Mongo db course introduction

549 views

Published on

Curso

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

  • Be the first to like this

No Downloads
Views
Total views
549
On SlideShare
0
From Embeds
0
Number of Embeds
6
Actions
Shares
0
Downloads
15
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • 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
  • $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).
  • Mongo db course introduction

    1. 1. Curso de Iniciación de
    2. 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. 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. 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. 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. 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. 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. 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. 9. La Shell Esta es la pantalla de Help: Descripcion de las acciones de ayuda
    10. 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. 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. 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. 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. 14. Queries Basicas Ejemplos prácticos: Recomendación personal, antes de hacer una modificación, hacer un backup
    15. 15. Queries BasicasModificadores de busqueda: $all $nor $exists $size $mod $type $ne Regex $in $nin $or
    16. 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
    17. 17. Preguntas
    18. 18. RecomendacionesDBA: Scaling MongoDB DEV: 50 Tips & Tricks for MongoDB Developers
    19. 19. CreditosNombre: Juan Manuel ParrillaPuesto: Release Engineer en Telefonica I+D por AmarisContacto: juanmanuel.parrilla@amaris.comContacto Adicional: jmp.tid@gmail.comSkype: jmp_tidTwitter: @kerbeross

    ×