---
id: TASK-45.39
title: >-
  Материал 35: DDIA 2-е издание («кабанчик», Kleppmann & Riccomini) — извлечь
  текст, разбить на блоки, дополнить базу знаний
status: Done
assignee:
  - '@assistant'
created_date: '2026-09-17 17:13'
updated_date: '2026-09-17 19:26'
labels: []
dependencies: []
parent_task_id: TASK-45
priority: high
ordinal: 84000
---

## Description

<!-- SECTION:DESCRIPTION:BEGIN -->
Проработать книгу: applications/yandex-codenv/system-design/materials/DDIA-2nd-edition.pdf — Designing Data-Intensive Applications, 2nd Edition (O-Reilly, 2026, EN, 673 стр., текстовый слой есть, 245 записей TOC). ВАЖНО: это 2-е издание — структура глав отличается от 1-го (русского перевода), карту глав из TASK-45.10 (materials/ddia-map.md) нужно сверить и обновить. Главы: 1. Trade-Offs in Data Systems Architecture; 2. Defining Nonfunctional Requirements (кейс-стади таймлайнов соцсети!); 3. Data Models and Query Languages; 4. Storage and Retrieval; 5. Encoding and Evolution; 6. Replication; 7. Sharding; 8. Transactions; 9. The Trouble with Distributed Systems; 10. Consistency and Consensus; 11. Batch Processing; 12. Stream Processing; 13. A Philosophy of Streaming Systems; 14. Doing the Right Thing. Ядро для интервью — гл. 6-10 (распределённые системы).
<!-- SECTION:DESCRIPTION:END -->

## Acceptance Criteria
<!-- AC:BEGIN -->
- [ ] #1 Текст извлечён по главам в applications/yandex-codenv/system-design/materials/ddia-2ed/ (по .md на главу: грязный текст + выжимка 5-10 тезисов)
- [ ] #2 materials/ddia-map.md (из 45.10) обновлён под структуру 2-го издания: приоритеты чтения (гл. 6-10 ядро, 1-5 вторично, 11-13 опционально), с пометкой что русский перевод соответствует 1-му изданию
- [ ] #3 Блоки знаний перенесены в knowledge-base.md (45.1): репликация (leader/follower, multi-leader, leaderless, кворумы), шардирование (ребалансировка, hot spots), транзакции и уровни изоляции, проблемы распределённых систем (часы, партиции сети), консистентность и консенсус (линейзуемость, Raft/Paxos, fencing tokens), B-tree vs LSM, кодирование и эволюция схем
- [ ] #4 Кейс-стади из гл. 2 (таймлайны: materialize vs fan-out) добавлен в classic-designs.md (45.3) как аргументация для ленты
- [ ] #5 Порядок чтения под слоты 18/21/22.09 — в методичку (45.2); README системы-design обновлён; PDF в git не попал (git status чист)
<!-- AC:END -->

## Implementation Plan

<!-- SECTION:PLAN:BEGIN -->
1. Извлечь текст по 14 главам pymupdf по диапазонам TOC -> materials/ddia-2ed/ch-NN-*.md (шапка + грязный текст + выжимка 5-10 тезисов). 2. Обновить materials/ddia-map.md под структуру 2-го издания (гл. 6-10 ядро, 1-5 вторично, 11-13 опционально; пометка про рус. перевод = 1-е изд.). 3. Перенести блоки в knowledge-base.md: §5 репликация (multi-leader, leaderless, кворумы), §6 шардирование (ребалансировка, hot spots), §7 транзакции/изоляции, §9 (часы, fencing, консенсус/Raft, линейзуемость), §3 B-tree vs LSM, §8 кодирование/эволюция. 4. Кейс-стади гл. 2 (таймлайны: materialize vs fan-out) -> classic-designs.md (лента). 5. Обновить methodology.md §5 (порядок чтения под слоты 18/21/22.09), README.md, проверить git status (PDF не в git).
<!-- SECTION:PLAN:END -->

## Implementation Notes

<!-- SECTION:NOTES:BEGIN -->
Выполнено 2026-09-17 (вечер). Что сделано:

1. Извлечение: pymupdf из materials/DDIA-2nd-edition.pdf (673 стр.) -> полный «грязный» текст всех 14 глав в system-design/materials/ddia-2ed/ch-NN-<slug>.md по образцу alex-xu-vol1 (YAML frontmatter + «Выжимка» 5–10 тезисов + полный текст). Все главы прочитаны; выжимки написаны по фактическому содержанию, не по оглавлению.
2. ddia-map.md дополнен под 2-е издание: §0 — таблица соответствия глав 1-го (рус. перевод) и 2-го изданий, приоритеты 6–10 ядро / 1–5 вторично / 11–13 опционально / 14 этика; явно отмечено, что русский перевод = 1-е издание (принцип 6 обновлён).
3. materials/ddia-2ed/_map.md — карта переноса выжимок в KB.
4. knowledge-base.md: новый §3.1 (LSM vs B-tree), дополнения §5 (statement/WAL/row-based лог, сессионные гарантии, кворум != linearizability), §6 (local/global индексы, routing, мультиарендность), §7 (RC/SI/SSI + write skew; linearizability vs serializability; Lamport/HLC/vector; консенсус-эквивалентности + fencing-источники; NewSQL; exactly-once через таблицу message-ID), §8 (consumer groups, CDC/log compaction, event time), §9 (partial failure, часы, зомби-лидер, system models, safety/liveness), §10 (p99, хвостовая амплификация, metastable failure), §12 (плашка о 2-м изд.), новый §15 (кодирование/эволюция + durable execution — Temporal/Restate, новое во 2-м изд.).
5. classic-designs.md §2 — сверка кейса лент гл. 2 (polling ~2M q/s vs fan-out 5,800×200 ≈ 1M записей/с; celebrity merge-at-read; семплирование).
6. methodology.md §5 и system-design/README.md — ссылки на ddia-2ed/ (выжимки как «конспект за 5 минут»).

AC: #1–#5 выполнены; PDF в git не попал (в .gitignore: materials/*.pdf).

Решения: приоритеты во frontmatter выровнены с формулировкой задачи (6–10 = ЯДРО, гл. 2/4 помечены «вторично, ядерные вопросы внутри»); кейс лент сверен с classic-designs, а не дублирован; главы 11–14 выжимки краткие (опциональный приоритет).
<!-- SECTION:NOTES:END -->
