MongoDB

Un sistema de gestión de bases de datos NoSQL orientado a documentos.

Descripción

MongoDB es una de las bases de datos NoSQL más populares, conocida por su flexibilidad y escalabilidad.

Características principales

Orientada a documentos

A diferencia de las bases de datos relacionales (como MySQL o PostgreSQL) que usan tablas y filas, MongoDB utiliza colecciones y documentos.

  • Documento: Es la unidad básica de almacenamiento en MongoDB. Los documentos se almacenan en formato BSON (una representación binaria de JSON), lo que permite almacenar datos de manera rica y estructurada.
  • Colección: Es el equivalente a una tabla en una base de datos relacional. Una colección es un grupo de documentos.
  • Esquema flexible: Los documentos en una misma colección no tienen que compartir la misma estructura de campos. Esto permite una gran agilidad al desarrollar y modificar aplicaciones, ya que no se necesita definir un esquema rígido de antemano.

Ejemplo: En un solo documento JSON podemos almacenar toda la información de un usuario, incluyendo sus nombres, dirección y una lista de sus pedidos, todo en una sola estructura.

Escalabilidad horizontal

MongoDB está diseñado para la escalabilidad horizontal mediante una técnica llamada sharding.

  • Sharding: Consiste en distribuir grandes a través de múltiples servidores (o shards). Esto permite manejar volúmenes de datos y cargas de tráfico masivas que un solo servidor no podría soportar.

Alto rendimiento

Utiliza un motor de almacenamiento que soporta búsquedas e indexación rápida, lo que la hace ideal para aplicaciones que requieren una alta velocidad de lectura y escritura.

Utilidad

MongoDB es una excelente opción cuando:

  • Se necesita agilidad: El esquema de datos evoluciona rápidamente (por ejemplo, durante el desarrollo inicial de una aplicación).
  • Se manejan datos no estructurados o semi-estructurados: Como datos de , catálogos de productos con atributos o información de sensores.
  • Se requiere escalabilidad extrema: Para aplicaciones con un gran volumen de usuarios o datos que necesitan escalar distribuyendo la carga entre muchos servidores.

Enlaces

Recursos

Ir a Arriba