20
Curso de Iniciación de

Mongo db course introduction

Embed Size (px)

DESCRIPTION

Curso

Citation preview

Page 1: Mongo db course   introduction

Curso de Iniciación de

Page 2: Mongo db course   introduction

- Indice -

¿Que es MongoDB?

¿Porque usar MongoDB?

Ventajas e Inconvenientes

Como empezar...

La Shell

Bson - Json

Queries basicas

Herramientas útiles

Preguntas...

Recomendaciones

Contacto

Page 3: Mongo db course   introduction

¿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

Page 4: Mongo db course   introduction

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?

Page 5: Mongo db course   introduction

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?

Page 6: Mongo db course   introduction

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

Page 7: Mongo db course   introduction

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

Page 8: Mongo db course   introduction

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...

Page 9: Mongo db course   introduction

Esta es la pantalla de Help:

Descripcion de las acciones de ayuda

La Shell

Page 10: Mongo db course   introduction

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

Page 11: Mongo db course   introduction

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

Page 12: Mongo db course   introduction

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

Page 13: Mongo db course   introduction

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

Page 14: Mongo db course   introduction

Ejemplos prácticos:

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

Queries Basicas

Page 15: Mongo db course   introduction

Modificadores de busqueda:

$all

$exists

$mod

$ne

$in

$nin

$or

Queries Basicas

$nor

$size

$type

Regex

Page 16: Mongo db course   introduction

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

Page 17: Mongo db course   introduction

Preguntas

Page 18: Mongo db course   introduction

DBA: Scaling MongoDB

Recomendaciones

DEV: 50 Tips & Tricks for MongoDB Developers

Page 19: Mongo db course   introduction

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

Page 20: Mongo db course   introduction