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.