Introducción a MongoDB
Base de Datos III, 2020-I
Jorge Luis Chávez Soto
Agenda
Introducción
Historia de MongoDB.
Documento de MongoDB.
Colecciones en MongoDB.
Formato de Documentos BSON.
Tipos de Datos BSON.
Crear una Base de Datos en MongoDB.
Eliminar una Base de Datos MongoDB.
Resumen
Introducción
⚫ MongoDB es un Sistema Gestor de Base de
Datos no relacional (NoSQL), de código
abierto.
⚫ MongoDB opera sobre consola de la
plataforma de sistema operativo, pero se
puede utilizar un cliente MongoDB
Compass.
Introducción
⚫ Utiliza varios modelos de distribución de
datos.
⚫ Los Gestores de Bases de Datos MongoDB
tienen las siguientes prestaciones de
servicio:
⚫ Alto rendimiento.
⚫ Alta disponibilidad.
⚫ Escalado automático.
Introducción
⚫ MongoDB no se necesita definir ningún
esquema para almacenar sus datos.
⚫ MongoDB guarda estructuras de datos en
documentos similares al formato JSON con
un esquema dinámico (BSON).
⚫ Configurar y obtener información en base a
documentos.
Introducción
⚫ MongoDB se puede instalar en cualquier
plataforma de sistema operativo, como:
⚫ Amazon Linux
⚫ Debian
⚫ Red Hat Enterprise Linux
⚫ CentOS
⚫ Suse Linux Enterprise
⚫ Solaris
⚫ Ubuntu
⚫ Windows Server
⚫ Windows Vista
⚫ Mac OS X
Historia de MongoDB
⚫ “humongous” que significa enorme.
⚫ MongoDB empezó con 10gen Inc. (MongoDB
Inc.) en 2007.
⚫ Plataforma como servicio (PaaS) similar al
conocido Google App Engine.
⚫ En 2009 MongoDB fue lanzado como un
producto independiente y publicado bajo la
licencia de código abierto AGPL.
⚫ En 2011, se lanzó la versión 1.4 de base de
datos lista para su uso en producción.
Componentes de MongoDB
Conjunto de Ejecutables
Componentes
Server mongod.exe
Router mongos.exe
Client mongo.exe
MonitoringTools mongostat.exe, mongotop.exe
ImportExportTools mongodump.exe,
mongorestore.exe,
mongoexport.exe,
mongoimport.exe
MiscellaneousTools bsondump.exe, mongofiles.exe,
mongoperf.exe
Documentos en MongoDB
⚫ Un documento es el equivalente a un
registro en una base de datos relacional.
⚫ Atributo de un documento (campo de relacional)
⚫ Un documento puede almacenar relaciones
y datos complejos.
Colecciones en MongoDB
● En MongoDB, las bases de datos contienen
colecciones de documentos de formato
BSON.
● Las colecciones son por defecto con límite,
de tamaño fijo que admiten operaciones de
inserción y lectura de documentos.
Colecciones en MongoDB
● Las colecciones con límite no permiten
operaciones de actualización y eliminación de
documentos.
● Se puede crear una colección sin límite al
poner el valor de capped con valor de false.
● Convertir una colección sin límite en una
colección con límite con el comando
convertToCapped:
Formato de Documentos BSON
⚫ Un documento BSON es una representación
binaria de datos serializados.
⚫ Son objeto JSON con tipos adicionales para
sus valores (BSON).
⚫ Permite almacenar documentos y realizar
llamadas a procedimientos remotos.
⚫ Cada elemento consta de un campo nombre, un
tipo y un valor.
Formato de Documentos BSON
● Cada tipo de datos tiene un número
correspondiente y un alias de cadena que
puede utilizarse con el operador $ type para
consultar documentos por tipo BSON.
Tipos de Datos BSON
Tipo Número Alias Notas
Double 1 “double”
String 2 “string”
Object 3 “object”
Array 4 “array”
Binary data 5 “binData”
Undefined 6 “undefined” obsoleto
ObjectId 7 “objectid”
Boolean 8 “bool”
Date 9 “date”
Null 10 “null”
Regular Expression 11 “regex”
DBPointer 12 “dbPointer” obsoleto
Tipos de Datos BSON
Tipo Número Alias Notas
javaScript 13 “javascript”
Symbol 14 “symbol”
JavaScript (con alcance) 15 “javascriptWithScope”
32-bit integer 16 “int”
Timestamp 17 “timestamp”
64-bit integer 18 “long”
Decimal 128 19 decimal nuevo
Min key -1 “minkey”
Max key 127 “maxkey”
Crear una Base de Datos en
MongoDB
● Se crea una base de datos con la siguiente
sintaxis:
Eliminar una Base de Datos
● Se borra una base de datos con la siguiente
sintaxis:
Resumen
● Los tipos BSON son los mismos tipos de
JSON además de añadir Date y Array de
bytes.
● Comparado a JSON, BSON está diseñado
para tener un almacenamiento y velocidad
más eficiente.
● Los elementos largos contienen el campo
“tamaño” para facilitar su escaneo, lo que
provoca que en algunos casos BSON use
más espacio en memoria que JSON.