Фундамент данных: как хранилища устроены внутри

Как устроены данные под капотом любой СУБД: движки хранения (B-дерево и LSM), OLTP против OLAP, эволюция схем, репликация, секционирование, производные данные и потоковая обработка. Теория, на которую опираются выбор и настройка конкретной базы.

Зачем. Прежде чем выбирать между PostgreSQL, MongoDB и ClickHouse, полезно понимать, чем они отличаются внутри: как пишут на диск, как размножают данные по узлам и почему одни быстры на записи, а другие на аналитике. Этот раздел — теория, на которую опирается обзор конкретных СУБД и настройка PostgreSQL. Входит в программу подготовки.

Семь статей идут по порядку: от одной машины к нескольким, от записи на диск к потокам изменений. Читать подряд необязательно, но порядок выбран так, что каждая следующая опирается на предыдущую.

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

  1. B-деревья и LSM-деревья — что происходит на диске, когда база сохраняет строку: журнал, SSTable, compaction, WAL.
  2. OLTP и OLAP — два разных мира работы с данными: склад данных, схема «звезда», столбцовое хранение.
  3. Эволюция схем — как менять формат данных, ничего не ломая: обратная и прямая совместимость.
  4. Модели репликации — почему реплика отстаёт, что даёт multi-leader и как считать кворум.
  5. Секционирование (шардинг) — как разрезать данные по узлам и не получить горячую точку.
  6. Производные данные — почему кеш, индекс и read-модель — по сути одно и то же.
  7. Потоковая обработка — перехват изменений (CDC), окна и время в потоках.

Связанное