2. Bases de datos NoSQL

2.3. El SGDB MongoDB

Aunque también es posible trabajar con los datos almacenados en formato JSON con MySQL y otros SGBD relacionales como PostgreSQL, la mejor forma de gestionar los datos almacenados en los ficheros JSON es utilizando una base de datos NoSQL como MongoDB.

El SGBD MongoDB se publicó en el año 2009 y permite gestionar bases de datos orientadas a documentos. Guarda los documentos en BSON, que no es más que una implementación binaria del formato JSON.

MongoDB es la más popular de las bases de datos NoSQL. Básicamente, devuelve datos en JSON e incorpora los conceptos de colecciones (en lugar de tablas) y documentos (en lugar de filas), su API o lenguaje de consulta se conoce popularmente como MQL (MongoDB Query Language).

Para que tengamos más claro las diferencias entre el modelo relacional y MongoDB podemos consultar la tabla 4:

Tabla 4. Comparativa entre el modelo relacional y MongoDB.

Modelo relacional MongoDB
Database Database
Table Collection
Register Document o BSON document
Columna Field
Index Index
Table joins Embedded documents and linking
Primary key Primary key
Specify any unique column or column combination as primary key the primary key is automatically set to the_id field
Aggregation Aggregation pipeline

Fuente: elaboración propia.

Básicamente, la diferencia más sustancial es que mientras en un SGBD relacional como MySQL tenemos bases de datos, tablas y columnas de las tablas, en MongoDB y SGBD NoSQL basados en documentos tenemos también bases de datos, pero en vez de tablas con columnas tenemos colecciones de documentos, y en cada documento tenemos los nombres de los campos en vez de las columnas de las tablas.