MongoDB es un sistema de base de datos multiplataforma NoSQL (acrónimo de Not only SQL) o no relacional, orientado a documentos, de código abierto, escalable y de alto rendimiento.
En lugar de almacenar los datos en tablas como se viene haciendo en las bases de datos relacionales, MongoDB almacena estructuras de datos en forma de documentos que contienen diferentes campos. Estos documentos se agrupan en colecciones.
Almacenar la información en documentos en formato BSON, o binary JSON, permite a MongoDB tener independiencia del esquema de almacenamiento. De manera que pueden existir más o menos campos en el documento dentro de una misma colección de documentos. Esto hace que el diseño de la base de datos sea mucho más ágil.
Los documentos permiten nuevas estructuras como arrays o subdocumentos, permitiendo que de una sola consulta se recupere toda la información sin necesidad de ejecutar consultas de tipo join como se hace en las bases de datos relacionales.
Características de MongoDB
Alto rendimiento: Los documentos permiten la anidación de la información, de forma que se evita un número elevado de operaciones de consulta. También permite crear índices sobre arrays y subdocumentos.
Alta disponibilidad: mediante la réplica automática conocida como réplica set, proporciona redundancia de datos y failover automático. cuando en uno de los nodos se produce un fallo, se transfieren los datos de forma automática a otro nodo.
Escalado automático: Ofrece un escalado horizontal. Para ello, el sistema de sharding permite distribuir información por diferentes clúster de máquinas.
Consultas: Permite crear consultas poderosas con poco código, lo cual ahorra mucho tiempo.
De código abierto: Esta es una de las mayores ventajas, ya que no es necesario pagar licencias para usarlo en cualquier proyecto.