MongoDB es una base de datos distribuida de propósito general basada en documentos, que es un producto que se sitúa entre una base de datos relacional y una base de datos no relacional (NoSQL). Es la más rica en características y más parecida a una base de datos relacional entre las bases de datos no relacionales.

Un ejemplo de un documento en MongoDB

{
  "_id": "5cf0029caff5056591b0ce7d",
  "firstname": "Jane",
  "lastname": "Wu",
  "address": {
    "street": "1 Circle Rd",
    "city": "Los Angeles",
    "state": "CA",
    "zip": "90404"
  },
  "hobbies": ["surfing", "coding"]
}

Nada especial, solo un fragmento de datos JSON. Los datos del documento almacenados en MongoDB son similares a estos datos JSON. Debido al almacenamiento de datos JSON, el formato de datos almacenado en MongoDB es muy flexible. A diferencia de MySQL, que debe tener una estructura de tabla fija, esto significa que puedes agregar o eliminar campos en cualquier momento, y la velocidad también es muy rápida.

Consejo: Si tu negocio no tiene altos requisitos de transacciones complejas, uniones y coherencia de datos, y simplemente buscas una lectura y escritura rápida de datos, alta concurrencia, formatos de almacenamiento flexibles y libres, y no necesitas definir estructuras de tablas de antemano, MongoDB es una buena opción.

Características de MongoDB

Alto rendimiento

MongoDB proporciona una alta persistencia de datos. En particular,

  • El uso de un modelo de datos integrado puede reducir las operaciones de E/S del sistema de base de datos.
  • Admite indexación, por lo que la eficiencia de la consulta es muy alta, y los campos indexados pueden ser campos de documentos integrados o claves de matrices.

Lenguaje de consulta rico

MongoDB admite un amplio conjunto de expresiones de consulta para satisfacer diversos escenarios de consulta empresarial.

Soporte para consultas geoespaciales

Para negocios online a offline y negocios relacionados con la ubicación, se necesitan consultas geoespaciales frecuentes, como consultas de tiendas cercanas, personas cercanas o determinar si estás en un distrito comercial. Todo esto requiere soporte de recuperación geoespacial.

Alta disponibilidad

El conjunto de réplicas de MongoDB proporciona:

  • Conmutación por error automática
  • Redundancia de datos

Un conjunto de réplicas es un grupo de instancias de mongod que mantienen el mismo conjunto de datos, proporcionando redundancia de datos y soporte de alta disponibilidad.

Escalabilidad horizontal

MongoDB admite escalado horizontal. Mediante el uso de fragmentación, los datos se distribuyen en un clúster de máquinas.