Перейти к содержанию

MongoDB

MongoDB[200] MongoDB — документная NoSQL СУБД: BSON-документы, коллекции, индексы, горизонтальное масштабирование (replica set, sharded cluster) в enterprise-контурах. В материалах ниже — от основ до эксплуатации и production-паттернов.

Материалы

  • 1. База — NoSQL и зачем MongoDB, BSON, структура database/collection/document, CRUD в mongosh, типы индексов (single, compound, TTL, text), explain(), Docker для практики.
  • 2. Архитектура — replica set (primary/secondary/arbiter), election и падение primary, write/read concern, WiredTiger (cache, сжатие, journaling), лабораторная с тремя узлами и симуляцией сбоев.
  • 3. Шардированиеmongos, config servers, шарды; ranged vs hashed shard key; hot shard и перекос; команды sh.enableSharding, shardCollection, sh.status, практика кластера и проверка распределения.
  • 4. Операционка — Docker/Kubernetes и StatefulSet, PV; mongod.conf, keyFile, TLS; mongodump/mongorestore, снапшоты, PITR и oplog; восстановление при partial failure и чеклист DR.
  • 5. Мониторинг — Prometheus, Grafana, MongoDB Exporter; метрики opcounters, connections, replication lag, кэш, диск; дашборд и алерты (lag, отсутствие PRIMARY).
  • 6. Troubleshooting — lag, медленные запросы, конкуренция и диск; mongostat, mongotop, profiler, логи; explain, currentOp, практика с нагрузкой и индексами.
  • 7. Безопасность — SCRAM, роли и кастомные роли, TLS, сетевая изоляция; создание пользователей, строка подключения, практика включения auth.
  • 8. Production-практики — capacity planning и диск, бэкапы (RPO/RTO), rolling updates и FCV; антипаттерны (индексы, shard key, один узел, бэкапы без restore).
  • 9. Продвинутые темы — Change Streams; транзакции; мультирегион; Atlas vs self-hosted; скетчи Ansible и Terraform.
  • 10. Интеграционная практика — production-like стенд: RS, 2 шарда, Prometheus/Grafana, бэкапы, K8s; сценарии падения узла, деградации диска, нагрузки и восстановления.