Relación de Motores de MONGODB

Relación de Motores de MONGODB

MongoDB utiliza diferentes motores de almacenamiento para gestionar y optimizar el rendimiento de las bases de datos.

 

 1. WiredTiger

 

WiredTiger es el motor de almacenamiento por defecto en MongoDB desde la versión 3.2. Está diseñado para proporcionar un alto rendimiento y es adecuado para la mayoría de las aplicaciones.

 

- Compresión de Datos: Utiliza compresión de datos para reducir el tamaño de los archivos en disco. Puedes elegir entre compresión Snappy (más rápida) y zlib (más eficiente en compresión).

- Bloqueo a Nivel de Documento: Soporta bloqueo a nivel de documento para operaciones concurrentes, lo que mejora el rendimiento en operaciones de escritura.

- Journaling: Usa un diario para asegurar la consistencia de los datos en caso de fallos del sistema.

 

Ventajas:

- Alto Rendimiento: Mejor rendimiento en operaciones de lectura y escritura en comparación con el motor MMAPv1.

- Compresión Eficiente: Reduce el uso del espacio en disco.

- Escalabilidad: Mejora la escalabilidad en entornos de alta carga debido a su soporte para bloqueos a nivel de documento.

 

Inconvenientes:

- Consumo de CPU: La compresión puede incrementar el uso de CPU.

- Complejidad de Configuración: Requiere una configuración y gestión adecuadas para aprovechar todas sus características.

 

 2. MMAPv1 (Memory-Mapped Files)

 

Era el motor de almacenamiento por defecto en MongoDB antes de la versión 3.2. Usa mapeo de archivos en memoria para gestionar el almacenamiento de datos.

 

- Sin Compresión: No proporciona compresión de datos de manera nativa.

- Bloqueo a Nivel de Base de Datos: Utiliza bloqueo a nivel de base de datos, lo que puede afectar el rendimiento en entornos de alta concurrencia.

- Journaling: Soporta journaling para recuperación ante fallos.

 

Ventajas:

- Simplicidad: Más sencillo de entender y configurar en comparación con WiredTiger.

- Menor Consumo de CPU: Menor uso de CPU debido a la ausencia de compresión.

 

Inconvenientes:

- Rendimiento Inferior: Menor rendimiento en operaciones concurrentes debido al bloqueo a nivel de base de datos.

- Uso Ineficiente del Espacio: Sin compresión, puede usar más espacio en disco.

 

 3. In-Memory Storage Engine

 

El motor de almacenamiento en memoria (In-Memory Storage Engine) está diseñado para aplicaciones que requieren acceso extremadamente rápido a los datos. Está disponible a partir de MongoDB 3.2.

 

- Almacenamiento en RAM: Mantiene todos los datos en memoria, lo que proporciona un acceso ultrarrápido.

- Sin Persistencia en Disco: Los datos no se persisten en disco, por lo que se pierden si el sistema falla o se reinicia.

 

Ventajas:

- Velocidad: Ofrece el mejor rendimiento posible para operaciones de lectura y escritura debido a la ausencia de operaciones de disco.

- Ideal para Cachés y Pruebas: Perfecto para escenarios donde se requiere alta velocidad, como cachés y entornos de pruebas.

 

Inconvenientes:

- Pérdida de Datos: Los datos se pierden si el sistema falla, ya que no hay persistencia en disco.

- Uso de RAM: Requiere suficiente memoria RAM para alojar todos los datos, lo que puede ser costoso.

 

 

 

Inicia sesión para ver o añadir un comentario.

Más artículos de Gregorio Esteban

  • ProxySQL - ¿Que es? ¿Como Funciona? ¿Como se Configura y Gestiona?

    ProxySQL - ¿Que es? ¿Como Funciona? ¿Como se Configura y Gestiona?

    ProxySQL es un proxy de MySQL de alto rendimiento que se utiliza para gestionar y optimizar la conexión de aplicaciones…

  • Diferencias entre un arquitecto de datos y un ingeniero de datos

    Diferencias entre un arquitecto de datos y un ingeniero de datos

    Funciones de un arquitecto de datos El arquitecto de datos es el responsable principal de diseñar la infraestructura de…

  • ¿Que fue de Visual FOXPRO?

    ¿Que fue de Visual FOXPRO?

    Visual FoxPro (VFP) es un lenguaje de programación por procedimientos, orientado a objetos, heredero de XBASE (Clipper,…

    2 comentarios
  • ¿Qué es Percona Mysql?

    ¿Qué es Percona Mysql?

    Mysql Percona Server comenzó siendo, como MariaDB, un fork de MySQL. Hoy en día, Percona es una alternativa seria y…

  • ¿Cuál son las diferencias entre MariaDB y MySQL?

    ¿Cuál son las diferencias entre MariaDB y MySQL?

    Tanto MySQL como MariaDB son tecnologías de bases de datos de código abierto. Puede utilizarlos para almacenar datos en…

  • Diferencias entre MongoDB, MySQL y PostgreSQL

    Diferencias entre MongoDB, MySQL y PostgreSQL

    1. Tipo de Base de Datos · MongoDB: Base de datos NoSQL (orientada a documentos).

  • Puertos que usa MONGODB.

    Puertos que usa MONGODB.

    1. Puerto Principal (Predeterminado): ‘27017’ Es el puerto predeterminado para las conexiones de cliente y las…

  • Instalar MONGODB en LINUX.

    Instalar MONGODB en LINUX.

    En Ubuntu/Debian: 1. Importar la clave pública PGP/GPG: Importar la clave pública para verificar la autenticidad de los…

  • JSON / BSON versus MONGODB

    JSON / BSON versus MONGODB

    JSON, descripción funcional. JSON (JavaScript Object Notation) es un formato ligero de definición de documentos e…

  • Distribuciones de MONGODB.

    Distribuciones de MONGODB.

    1. MongoDB Community Edition - Proporciona la funcionalidad básica de MongoDB y es adecuada para la mayoría de las…

Otros usuarios han visto

Ver temas