ai-web.blog / notes

заметки на полях книг и статей

8 апреля 2026 г.

Designing Data-Intensive Applications, главы 1-3 - что осталось в голове

Перечитала три первые главы DDIA после трёхлетнего перерыва. Записи о том, что зацепило сейчас, а не тогда.

Кляйпман - это та книга, к которой возвращаешься. Я первый раз читала её в 2023 как новичок и пропустила половину. Перечитала сейчас и поняла, что некоторые вещи доходят только после того, как сама на них наступишь.

Глава 1. Что значит надёжность

Кляйпман делит надёжность на reliability, scalability и maintainability. Это банально звучит, пока не начнёшь смотреть на конкретные системы.

Запомнила пример с Twitter, где они переключились с pull-on-read на fan-out-on-write для ленты. На малых масштабах одно решение очевидно лучше. На больших - наоборот. И граница не там, где ожидаешь.

Запомнилась мысль: «scalability - это не свойство системы, это умение системы справляться с конкретным ростом нагрузки». То есть нужно понимать какого именно роста ты ждёшь, иначе масштабируешь то, что не нужно.

Глава 2. Модели данных

Перечитала спор «реляционка против документной». Поняла, что три года назад я этого не поняла.

Главное - это не про синтаксис. Это про то, как ты моделируешь связи между сущностями. Если связи древовидные и редко пересекаются между ветками - документная модель удобнее. Если данные про связи (граф соцсети, например) - нужны графовые БД.

Реляционка побеждает там, где связей много и они идут в разные стороны. Не потому что она «лучше», а потому что JOIN дешевле, чем восстанавливать те же связи в коде клиента.

И ещё. Кляйпман отдельно отмечает: схема в документной БД не отсутствует, она просто implicit. То есть код всё равно знает, какие поля есть. Это меняет где живёт миграция - в коде, а не в базе.

Глава 3. Storage and Retrieval

Это самое нечитабельное место для меня. B-деревья, LSM-trees, как они работают изнутри.

Зацепило одно: LSM-tree оптимизирован под запись (append-only), B-tree - под чтение (in-place update). Все эти хитрости про bloom filters, compaction, write amplification - следствия этого базового выбора.

В третий раз дошло до меня, почему ClickHouse такой быстрый на агрегациях - он не пытается быть универсальным. Колоночное хранение + сжатие. Если у тебя 100 миллионов строк и нужно «средняя цена по категории за прошлый месяц» - это другой режим работы СУБД.

Что я пропускала раньше

Кляйпман много пишет про trade-offs. Не «правильно vs неправильно», а «в этом контексте вот так дешевле». Я в 2023 искала в книге ответы. Сейчас понимаю, что её ценность - в формулировке вопросов.

Главы 4-5 (encoding, replication) - на следующей неделе. Сделаю отдельную заметку.


Юлия

Юлия

Информационная безопасность, государственная структура. Больше десяти лет в этой работе. Училась в Бауманке. Здесь пишу про то, чем занимаюсь вне работы.

Фамилию, должность и место работы здесь не называю. Это не загадочность - просто рабочая дисциплина, к ней привыкаешь. Подробнее - об авторе.