---
title: Клеппман и Риккомини, «Designing Data-Intensive Applications», 2-е изд. (2025, 673 стр.) — карта переноса в базу знаний
source: materials/DDIA-2nd-edition.pdf
конспект: TASK-45.39, извлечено pymupdf 2026-09-17; полный текст глав — в ch-*.md рядом, выжимка — в каждом файле после заголовка «Выжимка»
статус: перенесено 2026-09-17 в knowledge-base.md / classic-designs.md / ddia-map.md (см. колонку «Куда»)
---

# Карта переноса: DDIA 2-е изд. → база знаний

⚠️ **2-е издание ≠ русское издание.** Русский перевод («Высоконагруженные приложения», Питер) — это 1-е издание (12 глав, старая нумерация: репликация = гл. 5, консенсус = гл. 9). 2-е издание (Kleppmann & Riccomini, 2025) переработано: гл. 1 переписана, гл. 2 новая (НФТ + кейс лент), старые гл. 5–9 сдвинулись в 6–10, гл. 10 (пакетная) → 11, потоки → 12, гл. 13 — философия стриминга, гл. 14 — этика. При чтении русского перевода сверяться с таблицей соответствия в `../ddia-map.md`.

Приоритеты по структуре 2-го издания: **главы 6–10 — ядро** (сердце секции: репликация → шардирование → транзакции → отказы → консистентность/консенсус), **1–5 — вторично** (фундамент: trade-offs, НФТ/ленты, модели данных, LSM/B-tree, кодирование), **11–13 — опционально** (batch, stream, философия; гл. 12 всё же полезна перед секцией — вопросы про Kafka), **14 — этика** (после секций).

| Гл. | Файл | Тема | Куда перенесено |
|-----|------|------|-----------------|
| 1 | `ch-01-trade-offs-architecture.md` | Trade-offs; OLTP vs OLAP; cloud vs self-hosted; зачем распределяться и чем платить | KB §12 (заметка о 2-м изд.) — сам блок уже покрыт KB §1–3 |
| 2 | `ch-02-nfr-timelines-case.md` | НФТ; кейс лент: polling vs материализация, fan-out 5,800×200≈1M/с; p50/p95/p99, хвостовая амплификация; metastable failure | KB §10 (metastable failure, tail latency), classic-designs §2 (сверка кейса лент) |
| 3 | `ch-03-data-models.md` | Реляционная vs документная vs графовая; нормализация; Event Sourcing/CQRS | KB §12 (частично §3) — справочное |
| 4 | `ch-04-storage-retrieval.md` | Hash-индекс, LSM/SSTable/компактация/Bloom; B-tree/WAL/page split; **LSM vs B-tree**; колоночная аналитика | KB §3.1 (новое: LSM vs B-tree детально) |
| 5 | `ch-05-encoding-evolution.md` | Backward/forward compat; Protobuf/Avro; потоки данных через БД/REST/RPC; **durable execution / workflow engines** | KB §15 (новое: кодирование + workflow engines) |
| 6 | `ch-06-replication.md` | Single/multi-leader/leaderless; sync vs async; row-based лог = CDC; лаг и сессионные гарантии; failover/split brain | KB §5 (дополнения: реплицируемый лог, semi-sync, сессионные гарантии — формулировки) |
| 7 | `ch-07-sharding.md` | Range/hash; fixed shard count; ребалансировка; local vs global вторичные индексы; routing | KB §6 (дополнения: global index, routing, мультиарендность) |
| 8 | `ch-08-transactions.md` | RC → SI/MVCC → serializable; lost update/write skew/phantom; 2PL/SSI; 2PC/XA in-doubt; NewSQL; exactly-once через message-ID таблицу | KB §7 (дополнения: SSI, write skew, NewSQL, exactly-once-рецепт) |
| 9 | `ch-09-trouble-distributed.md` | Partial failure, таймауты, wall vs monotonic clock, GC-паузы/зомби, кворум объявляет мёртвым, **fencing tokens**, Byzantine, system models, safety/liveness | KB §9 (дополнения: часы, system models, fencing-источники) |
| 10 | `ch-10-consistency-consensus.md` | Linearizability vs serializability (strict); CAP/PACELC/Attiya-Welch; quorum ≠ linearizable; **Lamport/HLC/vector clocks**; консенсус и 6 эквивалентных форм; Raft-механика; ZooKeeper/etcd | KB §7 (дополнения: strict serializability, эквивалентности консенсуса, логические часы), §12 |
| 11 | `ch-11-batch-processing.md` | MapReduce/dataflow, join'ы в batch, derived data | KB §12 (справочное) |
| 12 | `ch-12-stream-processing.md` | Брокеры vs log-based; consumer offsets; CDC/log compaction; окна/event time; exactly-once практики | KB §8 (дополнения: log compaction, CDC vs event sourcing, окна/watermarks) |
| 13 | `ch-13-philosophy-streaming.md` | Единый журнал, причинность vs total order, reprocessing, unbundling | — (уровень staff, после секций) |
| 14 | `ch-14-doing-right-thing.md` | Этика данных, приватность, ответственность инженера | — (не для секции) |

## Как пользоваться

- **Быстрое повторение перед секцией**: выжимки глав 6–10 (верх каждой ch-*.md) + KB §5–§9; глубина — по ссылкам из KB.
- **Поиск по ключевому слову** («fencing», «SSTable», «hinted handoff», «HLC»): `grep -rn "слово" ch-*.md` по грязному тексту.
- **Чтение русского перевода (1-е изд.)**: сверять номера глав с таблицей соответствия в `../ddia-map.md` §2.
