MongoDB
Раздел про MongoDB: ACID и уровни согласованности (read/write concerns, транзакции, causal consistency), репликация и шардинг (replica set, sharded cluster, shard key), документное моделирование (embed vs reference, индексы). Объяснения с примерами на двух коллекциях category и product.
Зачем для UCP. MongoDB применяется на UCP-сервисах с документной природой данных (профили, каталоги с динамическими атрибутами, event logs). Senior должен уметь выбрать между PG и Mongo осознанно. Соответствует фазе 5 программы.
Статьи про устройство и эксплуатацию MongoDB. Примеры — на тех же двух коллекциях, что и в разделе про PostgreSQL (category + product), чтобы было легко сравнивать подходы реляционной и документной БД.
Статьи раздела
- ACID, read и write concerns, транзакции — что MongoDB гарантирует и чего не гарантирует, пять уровней read concern, write concern по числу реплик, multi-document транзакции (с 4.0), causal consistency.
- Репликация и шардинг — replica set, oplog, выбор primary, read preference, sharded cluster (mongos / config servers / shards), стратегии shard key (ranged / hashed / zoned), как считать размер БД.
- Моделирование документов: embed vs reference, индексы — когда вкладывать, когда ссылаться, правило одного к нескольким / одного ко многим / одного к миллионам, антипаттерны с массивами, schema validation, типы индексов.
Связанное
- Раздел про PostgreSQL — те же темы (ACID, репликация, размер БД), решённые иначе.
- PG Style Guide — правила работы с PostgreSQL в Java/Spring (для сравнения).
- Distributed Patterns Style Guide — saga, idempotency, outbox: применимо к обеим БД.