Skip to content

Arquitectura interna

MongoDB almacena documentos BSON en colecciones. Su arquitectura gira alrededor de documentos, indices, replica sets, journaling y, si hace falta, sharding.

Componentes

mermaid
flowchart TB
  C["Cliente"] --> M["mongod"]
  M --> W["WiredTiger"]
  W --> D["Data files"]
  W --> J["Journal"]
  M --> I["Indexes"]

BSON

BSON es una representacion binaria de documentos similar a JSON, con tipos adicionales como fechas, ObjectId y binarios.

WiredTiger

WiredTiger es el motor de almacenamiento habitual. Aporta compresion, cache, journaling y concurrencia a nivel de documento.

Documentos y colecciones

Una coleccion contiene documentos flexibles, pero eso no significa ausencia de diseño.

La flexibilidad debe controlarse con:

  • Validacion de schema.
  • Convenciones de campos.
  • Indices.
  • Patrones de modelado.

Indices

MongoDB usa indices para evitar escaneos de coleccion.

javascript
db.pedidos.createIndex({ cliente_id: 1, creado_en: -1 })

Journal

El journal ayuda a recuperar escrituras tras fallos.

Buenas practicas

  • Modela segun consultas.
  • Crea indices para patrones reales.
  • Evita documentos que crecen sin limite.
  • Usa replica sets en produccion.
  • Monitoriza cache, locks e indices.