Introducción
[Link]
MONGODB
Ing. Christian Pappolla 1
MONGODB: Descripción y
Características
Es un sistema de base de datos multiplataforma orientado a
documentos, de esquema libre.
Cada entrada o registro puede tener un esquema de dato diferente,
con atributos o “columnas” que no tienen por qué repetirse de un
registro a otro.
Está escrito en C++, de modo que es bastante rápido a la hora de
ejecutar sus tareas.
Además, está licenciado como GNU AGPL 3.0, de modo que se trata de
un software de licencia libre.
Funciona en sistemas operativos Windows, Linux, OS X y Solaris.
Virtudes: su velocidad y su completo, pero sencillo, sistema de
consulta de contenidos. Tiene un balance perfecto entre rendimiento y
funcionalidad. Ing. Christian Pappolla 2
¿Cómo se • DOCUMENTOS
maneja • Se agrupan en colecciones
(equivalente a las tablas en una
MongoDB? BDD relacional, pero sin ser
sometidos a un esquema fijo).
Cada registro o conjunto de datos
se denomina DOCUMENTO. • Existen índices para los
atributos de los documentos:
MongoDB se maneja a través de MongoDB mantendrá una
dichos Documentos. estructura interna eficiente
para el acceso a la información
por los contenidos de estos
atributos.
Ing. Christian Pappolla 3
FORMATO DE LOS DOCUMENTOS
o Los distintos documentos se almacenan en formato BSON, o Binary
JSON. BSON guarda de forma explícita las longitudes de los campos,
los índices de los arrays, y demás información útil para el escaneo
de datos.
o En algunos casos, el mismo documento en BSON ocupa un poco
más de espacio si fuera almacenado en formato JSON.
o Una de las claves en NoSQL es que el almacenamiento sea barato.
Es mejor aprovecharlo si así es mucho más rápido localizar
información dentro de un documento.
o Sin embargo, en la práctica, nunca veremos el formato en que
verdaderamente se almacenan los datos, y trabajaremos siempre
sobre un documento en JSON tanto al almacenar como al consultar
información. Ing. Christian Pappolla 4
• Ejemplo de un documento
sencillo:
JSON
Significa, en inglés, JavaScript Object
Notation. Es un formato ligero (o
liviano) para el intercambio de datos.
Está basado en un subconjunto del
lenguaje de programación JavaScript.
Su simplicidad ha hecho que su uso se
esté ampliando. Es independiente del
lenguaje de programación y se
emplea en ambientes donde el
volumen del flujo de los datos es de
vital importancia.
Reduce la dependencia de las
tecnologías de la información, es
decir, no se necesitan esquemas ni
tablas.
Ing. Christian Pappolla 5
MÁS SOBRE MONGODB
OPERACIONES CRUD
• Las operaciones CRUD
JSON (Create, Read, Update,
• Ayuda a habilitar la nueva era de
aplicaciones móviles, sociales y Delete) en MongoDB se
onCloud. Sólo soporta seis tipos de
valores: realizan con los siguientes
• -String comandos:
-Numérico
-Booleano • Create: insert();
-Valores especiales (“nulo”)
-Objetos • Read: find();
-Arreglos
• No soporta estructuras de datos
• Update: update();
cíclicos. Utiliza un conjunto de • Delete: remove();
acciones que se pueden ejecutar una o
varias veces.
Ing. Christian Pappolla 6
CONSULTA DE DATOS
• MongoDB permite utilizar funciones Map y Reduce, escritas en
Javascript para seleccionar los atributos que nos interesan de los
datos, y agregarlos (unificarlos, simplificarlos) en la manera deseada.
Muchas veces necesitamos algo bastante más sencillo que esto.
• En MongoDB se pueden utilizar consultas al valor de un atributo
específico. Por ejemplo, podemos capturar el post que tiene un
determinado título:
• El valor a consultar puede estar anidado en un tipo de datos más
completo en el atributo del documento. Por ejemplo, la siguiente
consulta devolvería todos los posts escritos por un determinado autor:
Ing. Christian Pappolla 7
CONSULTA DE DATOS
• El hash utilizado como conjunto de
condiciones que deben cumplir los
documentos a devolver, puede incluir
operadores de muy diversos tipos, no
sólo comparadores del valor absoluto
buscado. Algunos de ellos son:
Ing. Christian Pappolla 8