主題
Part 0 · 前置知識
這部分不在原書中,是為了補上 DDIA 假設讀者已具備、但新手未必有的基礎。
Kleppmann 在原書序言寫:"You should have some experience building web-based applications or network services, and you should be familiar with relational databases and SQL." —— 但實際讀第 1 章後就會發現,書內還假設你懂:page cache、TCP 連線行為、B-Tree、race condition、隔離級別等散落在 OS / 網路 / DB 的基礎。Part 0 把這些收攏成 7 個 12–30 分鐘的小章,沒讀過或忘了的可以快速暖身。
完全沒寫過後端?
看到 stateless / DB / API / 佇列這些詞會卡 → 先讀 0.0 三分鐘看懂後端世界、再回來做下方自評。
我需要讀 Part 0 嗎?
互動自評:勾選你「答得出來」的題目
每題勾起來表示「我能在 30 秒內向別人講清楚這題答案」。**沒勾**的題目下方會自動列出建議讀的章節。
自評結果0 / 7答得出來
0 / 7 是正常起點 — Part 0 正是為你設計的。多數第一次來的讀者全勾不下去,這代表你「正確進入學習狀態」、不是「不適合」。從階段 A(0.0-0.3)開始即可,**階段 B 看不懂可以先跳**、進 Ch1 卡住再回來查。
建議補強清單(7 章)
- 0.1 為什麼需要資料密集系統— 對應你勾不下去的:stateless 設計與資料系統典型元件
- 0.2 衡量指標素養— 對應你勾不下去的:QPS / Latency / P99 / SLA / SLO
- 0.3 SQL 與關聯模型速覽— 對應你勾不下去的:SELECT / JOIN / 索引 / 交易直覺
- 0.4 資料結構地基— 對應你勾不下去的:Hash / B-Tree / 外部排序 / Big-O
- 0.5 作業系統地基— 對應你勾不下去的:process / thread / page cache / fsync
- 0.6 網路地基— 對應你勾不下去的:TCP / HTTP / RPC / partial failure
- 0.7 並行控制直覺— 對應你勾不下去的:race condition / lock / 隔離級別
建議讀順序:依清單上下排序。讀完一章回來重新勾、列表自動縮短。
Part 0 章節地圖(兩階)
階段 A · 非本科破冰 (0.0-0.3)
完全沒寫過後端 / 非 CS 背景 / Bootcamp 學員從這裡開始。每章 3-30 分鐘、白話為主、不假設讀者懂 CS 術語。
0.0
三分鐘看懂後端世界
給沒寫過後端的人:一張全景圖 + 10 個最基本的詞
尚未開始 3 分鐘
0.1
為什麼需要資料密集系統
從一個簡單後端講起:stateless、典型元件、為什麼需要 DDIA
尚未開始 12 分鐘
0.2
衡量指標素養
QPS / Latency / P99 / Tail Latency / SLA/SLO —— Ch1 的銜接點
尚未開始 18 分鐘
0.3
SQL 與關聯模型速覽
SELECT / JOIN / 索引 / 交易直覺
尚未開始 30 分鐘
階段 B · CS 速覽 (0.4-0.7)
已有 CS 大二程度 / 修過資料結構 + OS + 網路 課程的人可掃讀。沒念過 CS 的讀者可以先跳這四章、進 Ch1 卡住再回來查;不需要硬啃。
0.4
資料結構地基
Hash、B-Tree、外部排序、Big-O —— 接 0.3 SQL 索引
尚未開始 25 分鐘
0.5
作業系統地基
行程、執行緒、虛擬記憶體、page cache、fsync
尚未開始 25 分鐘
0.6
網路地基
TCP/IP、HTTP、RPC、延遲 vs 頻寬、partial failure
尚未開始 22 分鐘
0.7
並行控制直覺
Race condition、lock、原子性、隔離級別
尚未開始 20 分鐘
Part 0 與 12 章主進度的關係
Part 0 是選讀補強,不計入 12 章的整體進度(Dashboard 顯示「X / 12」永遠指主章節)。你可以在 Part 0 各章末單獨標記已讀,但它們不會拉高你的「整體進度 %」。
設計原則
- 不重寫別人的內容:每章末尾用「想更深入?」框連結到 OSTEP、Beej's Guide、Postgres Tutorial 等優質免費資源,這裡只給「DDIA 視角下你必須懂的部分」。
- 直接綁定 DDIA 章節:每個概念都附「Ch X 哪一段會用到」,避免知識懸空。
- 可跳讀:7 章之間沒有依賴關係,按需要挑著看。