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), чтобы было легко сравнивать подходы реляционной и документной БД.

Статьи раздела

  1. ACID, read и write concerns, транзакции — что MongoDB гарантирует и чего не гарантирует, пять уровней read concern, write concern по числу реплик, multi-document транзакции (с 4.0), causal consistency.
  2. Репликация и шардинг — replica set, oplog, выбор primary, read preference, sharded cluster (mongos / config servers / shards), стратегии shard key (ranged / hashed / zoned), как считать размер БД.
  3. Моделирование документов: embed vs reference, индексы — когда вкладывать, когда ссылаться, правило одного к нескольким / одного ко многим / одного к миллионам, антипаттерны с массивами, schema validation, типы индексов.

Связанное