Introduccón a Mongodb
description
Transcript of Introduccón a Mongodb
Introducción a mongoDBManuel Sánchez
@Manuss20
¿Qué es?• MongoDB es un sistema de base de datos NoSQL orientada a
documentos, desarrollada bajo el concepto de código abierto.
• Esto nos permite ofrecer un alto rendimiento y facilita el desarrollo de aplicaciones.
• Se encuentra disponible para Windows, Linux y OS X
¿Cómo Funciona?
• MongoDB almacena documentos en formato BSON que es un superconjunto de JSON.
• BSON es un formato binario que optimiza espacio, rendimiento y aporta funciones extra sobre JSON.
• La consola nos ofrece una potencia enorme para realizar operaciones de inserción, selección y manipulación de datos.
Estructura• Bases de datos: conjunto de colecciones. Son dinámicas,
solo existen si hay almacenadas en ellas, colecciones o documentos.
• Colecciones: es el equivalente a una tabla para las bases de datos relacionales. Están compuestas de documentos.
• Documentos: son un conjunto de líneas en formato JSON. Cada línea JSON está compuesta atributos y cada atributo está compuesto de un par clave-valor.
NoSQL vs SQL
Base de Datos Relacional Base de datos NoSQL (MongoDB)
Requiere Operaciones Join.Escala verticalmente, a través de nuevas tablas y
relaciones.
No requiere operaciones Join.Escala horizontamente.
Los datos se parten en diferentes tablas.Estos datos se procesan en un servidor y se traducen aobjetos de la vida real.
Simplemente guardas todos los datos, ya que NoSQL eslibre de esquemas, luego no se diseñan las tablas por
adelantado.
El principal problema de este modelo es que todo esto es costoso en términos de rendimiento.
Obtenemos rapidez y flexibilidad a costa de renunciar a tablas perfectamente definidas.
¿Dónde se puede utilizar MongoDB?
• MongoDB se puede utilizar en muchos de los proyectos que desarrollamos en la actualidad.
• MongoDB es especialmente útil en entornos que requieran escalabilidad(replicación y sharding).
• Tu dataset tiene grandes cantidades de texto o imágenes en columnas del tipo BLOBs.
• Tu sistema de información genera mucho datos temporales que no corresponden al almacén de datos principales(ej. Carritos de la compra)
¿Dónde se puede utilizar MongoDB?
Instalación
Instalación
• La instalación en sistemas Linux, OS X y Windows la podéis encontrar en la siguiente dirección:
https://github.com/Manuss20/Intro-a-MongoDB
Comandos Básicos
• ¿Cómo creamos una BD?
• ¿Cómo utilizar una BD Dinámica?
• Para almacenar un documento.
• Para almacenar estos documentos en las bases de datos
• Para guardar
#!/bin/bash
Consultas en MongoDB
SELECT * FROM Pruebas WHERE name = “mongo”;
db.Pruebas.find({name:”mongo”}).forEach(printjson);
printjson(db.Pruebas.findOne({name:”mongo”}));
db.Pruebas.find().limit(3);
db.Pruebas.remove({name:”mongo”});
Ejemplo: App Web
Base de Datos API FrontEnd
Express+
Llamada Ajax al APIConsulta a la BD
Respuesta de la BD (objeto) Devuelve un objeto en JSON