mongo db course introduction
DESCRIPTION
CursoTRANSCRIPT
Curso de Iniciación de
- Indice -
¿Que es MongoDB?
¿Porque usar MongoDB?
Ventajas e Inconvenientes
Como empezar...
La Shell
Bson - Json
Queries basicas
Herramientas útiles
Preguntas...
Recomendaciones
Contacto
¿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
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 ...
¿Que es 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...
¿Porque usar MongoDB?
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
Ventajas
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
Inconvenientes
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%
Como empezar...
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
La Shell
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”}
Bson - Json
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
Ejemplos prácticos:
Recomendación personal, antes de hacer una modificación, hacer un backup
Queries Basicas
Modificadores de busqueda:
$all
$exists
$mod
$ne
$in
$nin
$or
Queries Basicas
$nor
$size
$type
Regex
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
Herramientas
Preguntas
DBA: Scaling MongoDB
Recomendaciones
DEV: 50 Tips & Tricks for MongoDB Developers
Creditos
Nombre: Juan Manuel Parrilla
Puesto: Release Engineer en Telefonica I+D por Amaris
Contacto: [email protected]
Contacto Adicional: [email protected]
Skype: jmp_tid
Twitter: @kerbeross