MongoDB
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; сценарии падения узла, деградации диска, нагрузки и восстановления.