mongo db course introduction

Post on 21-Jun-2015

264 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

DESCRIPTION

Curso

TRANSCRIPT

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: juanmanuel.parrilla@amaris.com

Contacto Adicional: jmp.tid@gmail.com

Skype: jmp_tid

Twitter: @kerbeross

top related