Temario del curso
Módulo 1: Introducción y arquitectura de MongoDB (4h)
Contenido:
- Historia y ecosistema de MongoDB.
- Casos de uso típicos, ventajas y desventajas.
- Arquitectura general: instancias, procesos y configuración.
Práctica:
- Exploración interactiva: conexión con Mongo Shell/CLI.
- Creación de una base de datos y una colección de muestra.
Módulo 2: Instalación y configuración inicial (6h)
Contenido:
- Requisitos de hardware y recursos.
- Instalación en Linux (deb/rpm), Windows y macOS.
- Archivos de configuración YAML (mongod.conf): dataDir, logDir, bindIp, port.
- Opciones de inicio y gestión de systemd/servicios.
Práctica:
- Despliegue de instancias en máquinas virtuales locales o contenedores Docker.
- Ajuste de configuraciones para desarrollo vs. producción.
- Verificación de la conectividad remota segura.
Módulo 3: Modelado de datos y operaciones básicas (5h)
Contenido:
- Documentos BSON, colecciones y bases de datos.
- Modelado: incrustación (embedding) vs. referencia; patrones de diseño de datos.
- Índices básicos (introducidos previamente).
- Operaciones con Mongo Shell y ejemplos de scripts usando controladores (drivers).
Práctica:
- Modelado de un caso de uso: sistema de inventario o facturación.
- Implementación de operaciones CRUD.
- Validación de esquema utilizando JSON Schema en MongoDB.
Módulo 4: Índices y rendimiento (4h)
Contenido:
- Índices simples, compuestos, multikey, de texto y geoespaciales.
- Uso de explain() y análisis de métricas.
- Impacto de los índices en el rendimiento de escritura y la memoria.
Práctica:
- Creación de colecciones con datos de prueba.
- Pruebas de consultas con y sin índices; interpretación de explain().
- Ajuste de índices basándose en patrones de acceso.
Módulo 5: Seguridad (5h)
Contenido:
- Mecanismos de autenticación: SCRAM, LDAP/Kerberos (introducción).
- Definición de usuarios y roles personalizados.
- TLS/SSL entre clientes y servidores.
- Cifrado en reposo: configuración de claves.
- Registro de auditoría básico.
Práctica:
- Creación de usuarios con privilegios mínimos.
- Configuración de TLS en instancias locales.
- Verificación del acceso no autorizado y revisión de registros de auditoría.
Módulo 6: Replicación y alta disponibilidad (6h)
Contenido:
- Conceptos de replicación: Primary, Secondary, oplog.
- Configuración de conjuntos de réplicas (replica sets): inicialización, membresía, arbitraje.
- Monitoreo del estado y elecciones.
- Mantenimiento: agregación/eliminación de miembros, reasignación de prioridades.
Práctica:
- Despliegue de un conjunto de réplicas de tres nodos (local o VMs).
- Simulación de fallo del nodo primario y observación del failover.
- Reconstrucción de nodos secundarios y recuperación de réplicas.
Módulo 7: Fragmentación (Sharding) y escalabilidad horizontal (6h)
Contenido:
- Conceptos de fragmentación: shard key, servidores de configuración, enrutador mongos.
- Selección de la clave de fragmentación (shard key) y riesgos asociados.
- Despliegue de servidores de configuración, shards y mongos.
- Reequilibrio y migración de chunks.
Práctica:
- Configuración de un clúster fragmentado (sharded) simple.
- Insertación de datos a gran escala y observación de la distribución.
- Introducción de cambios en la clave de fragmentación y comprensión de las limitaciones.
Módulo 8: Copia de seguridad, restauración y recuperación ante desastres (4h)
Contenido:
- Herramientas nativas: mongodump/mongorestore, instantáneas del sistema de archivos.
- Copias de seguridad en conjuntos de réplicas y clústeres fragmentados.
- Uso básico de Cloud Manager/Ops Manager para copias de seguridad.
- Planificación de Recuperación Ante Desastres (DR): RTO, RPO.
Práctica:
- Realización de copias de seguridad y restauración en una base de datos de prueba.
- Simulación de fallos y recuperación desde la copia de seguridad.
- Diseño de un plan de DR para un caso hipotético.
Módulo 9: Monitoreo y alertas (4h)
Contenido:
- Herramientas: mongostat, mongotop, Cloud Manager/Atlas Monitoring.
- Integración con Prometheus + Grafana (conceptos y ejemplos).
- Métricas clave: CPU, memoria, E/S (I/O), tamaño del oplog, latencias.
- Alertas: definición de umbrales y notificaciones.
Práctica:
- Despliegue de un agente de monitoreo local o basado en contenedores.
- Configuración de tableros (dashboards) básicos con métricas de muestra.
- Simulación de carga y observación de alertas.
Módulo 10: Mantenimiento, actualizaciones y mejores prácticas (4h)
Contenido:
- Estrategias de actualización para conjuntos de réplicas y clústeres fragmentados.
- Limpieza de datos, compactación y comprobaciones de integridad.
- Revisión de registros y auditorías periódicas.
- Automatización de tareas de rutina (scripts, cronjobs, Ansible, Terraform).
- Políticas de retención y archivado de datos.
Práctica:
- Simulación de actualizaciones menores y mayores en un entorno controlado.
- Creación de scripts de automatización para copias de seguridad y monitoreo.
- Desarrollo de una lista de verificación de mantenimiento periódico.
Resumen y próximos pasos
Requerimientos
- Comprensión de los conceptos generales de bases de datos y estructuras de datos.
- Familiaridad con el uso de la línea de comandos en Linux.
- Conocimientos básicos de redes y administración de sistemas.
Audiencia
- Administradores de bases de datos e ingenieros de sistemas que trabajan con MongoDB.
- Equipos de DevOps e infraestructura que despliegan y mantienen entornos de MongoDB.
- Desarrolladores interesados en los componentes internos de MongoDB y las mejores prácticas de despliegue.
Reseñas (2)
The pace of talking and explanation.
Marko Skokovic - PWO by Lottomatica Serbia
Curso - MongoDB for Administrators
El señor José es genial y explica cada detalle de los comandos. Apreciamos el tiempo que dedica a compartir su conocimiento con nosotros, y realmente demuestra que es un experto en este campo.
Almer Laureta - Asialink Finance Corporation
Curso - MongoDB for Developers
Traducción Automática