創始班 · 八週線上直播 · 15 個名額

AI 負責寫SQL
你負責搞懂系統

Data Systems Foundations 創始班,八週線上直播,一小群人從第一週一起走到最後。你會拿實際的系統來量,親手實作或修改核心機制並驗證,然後拿一個你完全沒碰過的單機系統收尾。

這不是工具教學,也不是 system design 面試衝刺班。你會在 DuckDB、Postgres、SQLite 上做實驗、從零出玩具引擎,再故意把它弄壞。書上輕描淡寫帶過的那些取捨,通常都是弄壞了才有感覺。最後解剖一個真的在跑的單機系統:先講出你猜它會怎麼跑,再自己跑數據證明。

課程內容

一個名額,整套單機核心都給你。

名額包含 Data Systems Foundations 完整單機教材:Phase 0–5 加上課程專題,永久存取。八週教學聚焦 Phase 0、1、3、4、5,第三週開始累積專題;Phase 2 作為延伸內容。最後一場直播後另有明列的補件與口頭答辯窗口。

單機核心永久擁有

Phase 0–5 加上單機課程解剖專題。整個單機層的內容都寫完了,評分也已經在跑,課上完之後還是你的。

八週,線上直播

每週一場直播,帶你跑一次這個循環,實驗跟實作都當場做,不是坐在那邊聽我講。

你自己的 private labs repo

作業全部在 Git repo 裡動手做。開了 PR,CI 會用隱藏測試跑一份成績單給你:只給分數,不給答案。

Playground、玩具實作、真實案例

每個階段都有可以互動的 playground、一版一版長出來的玩具引擎,還有真的在線上跑的系統案例。

兩輪真人回饋

針對你的機制筆記跟課程專題的草稿直接給回饋,第 3 週跟第 6 週各一次。CI 只會告訴你測試沒過,不會告訴你推論哪裡草率。

一小班人陪你一起走完

同一週,十幾個人卡在同一道牆前面。把你的數字貼出來,看誰的跟你對不上,卡住了就開口問。討論寫下來就留著,之後在課程站裡還搜得到。

適合誰

適合誰,也直接說不適合誰。

話先講在前面。這門課是開給那種平常在寫上線程式、又很想知道底下那套資料系統在幹嘛的人。想找面試考古題,或想躺著看影片的話,這門課大概會讓你失望。

這幾種人,來就對了

  • 你寫的是會上線的程式,比起用猜的,你更想知道一句 query 下去,底下實際發生了什麼事。
  • Python 你用得很順、多表 JOIN 也寫得出來,但你沒自己寫過 storage engine,也沒讀過 query planner。
  • 現在 SQL 都 AI 幫你寫,你想知道的是它什麼時候會錯、又錯在哪。
  • 你是動手才學得起來的人。B-tree 的文章看再多,都不如自己刻一個出來。

這幾種人,建議先別報

  • 你要的是 system design 面試準備。這八週練的是自己的判斷力,不是背標準答案。
  • 你要的是工具教學,某個資料庫的哪個功能怎麼開。我們教的是每個資料庫底下共通的那層機制。
  • 你是來學寫程式或 SQL 基礎的。這些我們預設你已經會了,課程講的是資料庫內部怎麼運作。
  • 你想用看影片的方式學。這門課是在 Git repo 裡動手寫、由 CI 打分。
  • 你現在馬上就要分散式。這一班只有單機核心(Phase 0–5),分散式之後才開。

課程方法論

同一套循環,每個階段都再跑一遍。

這門課不是背資料庫結論,而是透過反覆實驗,記住少量可遷移的機制模型、成本模型與不變量。同一套六步循環,每個階段跑一次,跑到你不用想就會做。

  1. 1預測

    動手之前先寫下一個能被打臉的預測:會發生什麼、哪個選項會贏、什麼結果代表你猜錯了。

  2. 2觀察 · 隔離 · 比較

    同一組實驗,問三個問題。先在 DuckDB、Postgres、SQLite 上重現一次,配上 query plan 跟 benchmark 數字;接著一次只動一個變因——動到兩個,跑出來的結果你自己也解釋不了;最後把同類的擺一起比:B-tree 對 LSM、row 對 column、Postgres 對 DuckDB。

  3. 3實作

    分階段刻一個玩具版本,一次只加一個概念。教科書一句話帶過的取捨,你會在自己的 code 裡正面碰上。

  4. 4解釋

    闔上筆記,把一個機制講給沒有你這套詞彙的人聽。你卡住的地方,就是你的模型有洞的地方。

  5. 5案例分析

    同一個機制,換成線上的賭注:Discord 扛著數兆則訊息、GitHub 被一次 43 秒的網路分區打斷。你會讀到他們撞上什麼、權衡了什麼、代價是多少——每個數字都有第一手來源——最後回答幾題 autopsy 問題,等於先預演一次課程專題。

  6. 6套用

    把整套做法搬到一個課綱上根本沒出現過的系統上。每個階段結尾都有一次 mini-autopsy,就是課程專題的縮小版。

課程大綱

九個階段。兩個課程專題。

創始班包含 Phase 0–5 與單機課程專題的完整教材。八週必修是 Phase 0、1、3、4、5,第三週就開始累積專題。Phase 2 是隨課提供的延伸內容;只有選 ArangoDB 專題的學員,需要在第三週做其中一個資料模型練習。每週都列明要展現的能力、必交產物,以及時間不足時的最低路徑。分散式層(Phase 6–8 與其專題)之後開課,創始班學員享 7 折。

創始班 · 單機層 · 即將開課

  • 00

    Phase 0 — 量測與工作負載

    沒量過就不要優化。

  • 01

    Phase 1 — SQL、Query Plan、執行

    一句 SQL 怎麼變成實際的工作。

  • 02

    Phase 2 — 資料模型與查詢語言 延伸

    隨課提供的延伸教材,八週內選修;ArangoDB 專題需做其中指定的資料模型練習。

  • 03

    Phase 3 — 儲存引擎與索引

    B-tree、LSM-tree,還有查一筆資料實際要付多少成本。

  • 04

    Phase 4 — 交易、並行、當機復原

    隔離等級,還有它們各自擋掉哪些 anomaly。

  • 05

    Phase 5 — OLAP、欄式儲存、向量化執行

    為什麼分析引擎都存成一欄一欄的。

  • 課程專題 · 系統解剖 — 單機

    沒人幫你,自己把一個完全沒碰過的系統拆開。看它長怎樣 →

分散式層 · 創始班學員之後 7 折

  • 06

    Phase 6 — 分散式資料系統 還沒開

    Replication、partitioning,還有共識演算法。

  • 07

    Phase 7 — 串流與事件處理 還沒開

    Log、window,還有 exactly-once。

  • 08

    Phase 8 — Lakehouse 與雲端資料架構 還沒開

    長在 object storage 上的 table format。

  • 課程專題 · 系統解剖 — 分散式 還沒開

    沒人幫你,自己把一個分散式系統拆開。

課程專題

前面所有東西,都是為了最後這場系統解剖。

每個階段結尾都會丟幾題針對真實系統的解剖題給你。課程專題是完整版。你要寫一份報告:主張放最前面,後面接你親手跑過的實驗,還有一個你刻意去找來打自己臉的反例,最後給一個站得住腳的決定。大概長這樣:

解剖報告 #03 DuckDB vs Postgres · 5000 萬列聚合
主張
這種 workload DuckDB 會贏:向量化執行加欄式儲存。
證據
EXPLAIN ANALYZE · cold vs warm cache · IO profile — 12.4s → 0.8s
反例
但單列的 point lookup,Postgres 的 index scan 快 40×
決策
分析功能就嵌 DuckDB。主要的 OLTP 資料庫不要換掉。
量過 比過 驗過 站得住

你的課程專題,是把一個你根本不熟的單機資料系統整個解剖一遍。一行指令就能在你自己機器上把那個引擎跑起來,五個調查模組帶你走過它的 query 層、storage engine、並行模型跟當機復原路徑。而且每一個主張,都要附上一個你自己跑過的實驗。

常見問題

掏錢之前,先把話說清楚。

我們還很早期。哪些已經定案、哪些還在調,這裡都直說。

我現在就可以報名嗎?

還不行,報名還沒開,網站現在也還不收錢。先加候補(留 email 加兩個小問題),創始名額一開放我們就寄信給你,附上結帳連結跟怎麼開始。名額只有 15 個,候補名單優先。Phase 1 開始前隨時可以全額退費,不問原因。

我需要什麼底子?

你平常寫的就是會上線的程式。玩具實作跟 lab 工具都是 Python,所以你讀跟寫都要夠順。SQL 至少要寫得出多表 JOIN。寫程式跟 SQL 基礎不在課程範圍內,我們預設你已經會,課程直接從資料庫內部講起。

Phase 6–8 的分散式,我有拿到嗎?

創始班沒有。它是單機層:Phase 0–5 加上單機課程專題,永久是你的。分散式那層(Phase 6–8 加分散式課程專題)之後會另外開一班,你是創始班學員,開放的時候 7 折

要跑這些 lab,我要準備什麼?

你需要:我們課程 GitLab 的帳號(邀請信我們會寄給你)、Docker,再加一個吃得下 Dev Containers 的編輯器(VS Code 最順)。你會拿到自己的 private labs repo,用設定好的 dev container 開起來,整套環境就已經裝好了,playground 的 port 也會自動 forward 到你的瀏覽器。Windows、macOS、Linux 都可以,只要跑得動 Docker Desktop(Windows/macOS)或 Docker Engine(Linux)就行。不用 GPU、不用雲端帳號,也不會有額外的帳單。

這是看影片,還是動手做?

動手做,全部在 Git repo 裡。每個階段都是文字筆記加互動 playground、拿真實系統做的實驗、一版一版長出來的玩具實作,還有一個線上系統的案例;作業交上去由 CI 打分,成績單直接貼在你的 PR 上。所有內容也都能當成一個私人課程站來讀、來搜。不是那種「YouTube 加小測驗」。

這門課用什麼語言上?

課程教材(文字筆記、lab、案例、課程站)都是英文,線上直播課用中文上。之後可能會加開英文授課的班,如果你會想上,加入候補的時候順便跟我們說一聲,我們就是靠這個看有多少人要。

課程的節奏怎麼跑?

直播每週固定時間一場,我們很希望你每場都到。大家同時在線上一起走一遍,跟你自己補錄影差很多。真的有哪一場來不了也沒關係,每場都有錄影,照自己的步調追回來就好。

每週要花多少時間?

八週教學期間,估計每週約 7–8.5 小時,含直播;第 4、5、7 週可能到 9.5 小時。選 ArangoDB 的學員,第三週另加 1.5–2 小時的資料模型練習。這是預算,還不是學員實測保證。完整 toy 太大時可走精簡 Build,但仍須親自修改機制、事前預測並跑對照案例。若需補做,教學結束後另預留 3–4 小時;最後一場直播後第 7 天前交完整證據,第 8–14 天首次答辯,未通過可於首次答辯後 14 天內重試一次。

可以用 AI 嗎?

可以,用在環境設定、看錯誤訊息、讀陌生原始碼與產生 scaffold。你自己寫執行前的預測、信心與理由,以及跑完後闔上筆記寫的解釋。精簡 Build 也要有實質機制修改與證據;專題須包含超出教材既有答案的獨立實驗,以及不開電腦的 15 分鐘個別口頭答辯。完整規則在課程手冊。

退費怎麼算?

Phase 1 開始前隨時全額退費,不問原因。寄信到 support@datasystem.school 就好,我們會處理。

誰看得到我的作業跟成績?

只有你跟講師,沒有別人。每個人都有自己的 private GitLab repo;作業就是裡面的 merge request,成績單也貼在那裡。課程更新會進 main,所以 git pull 就能同步到最新內容,又不會動到你寫的東西。

報名

創始班,陪我們把這門課開起來。

就一種方案,一個價格。這是 beta 班,價錢是算給願意陪我們開第一班的人。整套單機核心你都拿得到,創始價一次鎖住,之後也不會往上調。

候補開放 · 15 個名額

創始班

$599 美金$399 美金

八週線上直播 · 單機核心永久擁有。

  • 永久擁有 Phase 0–5 + 單機課程解剖專題
  • 之後開分散式班(Phase 6–8 + 分散式課程專題)7 折
  • 八週線上直播,每週一場,帶你一起跑這個循環
  • 你自己的 private labs repo,隱藏測試 CI 打分
  • Playground、玩具實作,還有真實線上系統的案例
  • 兩輪真人回饋,看你的筆記跟課程專題草稿
  • 一小班同學可以互相對數字、討論,外加一個私人的課程站
  • 你的創始價永久鎖住,之後開的班就是原價了
加入候補

現在不用付錢。先把名字放上候補,位子一開我們就通知你。

資源

六十年的資料系統史,還有底下那些論文。

兩個免費的延伸站台,材料跟這門課同源:一條把資料系統怎麼走到今天講清楚的互動時間軸,還有撐起這條軸線的那些奠基性論文,每一篇都濃縮成一頁你真的讀得完的重點。都免費開放,不用註冊。

資料系統時間軸

這門課裡的每個系統,都落在一條長達六十年的突破鏈上。我們把整條鏈整理了出來——從 1960 年代最早的資料庫,一路到今天的 AI 原生資料系統:關鍵人物、論文、每項突破實際解決的問題,還對照了 DDIA 的章節。

83個里程碑
5個歷史年代
25個技術類別
1960–2026涵蓋期間
打開時間軸

經典論文,精煉版

撐起這些里程碑的奠基性論文,從 1970 年的 Codd 到 2025 年的 Flink 2.0——每一篇都完整讀過,機制、實驗數據、限制都不略過,再濃縮成一頁。每篇都照同樣的十一個段落寫,任兩篇都能直接對照著讀。

33篇論文
5個歷史年代
14個技術類別
1970–2025涵蓋期間
開始讀論文

從裡到外,真正搞懂資料系統

創始班:15 個名額、$399 美金、Phase 1 開始前全額退費。八週線上直播,單機核心永久擁有。實際去量、自己刻一個、故意弄壞,再說得出為什麼。

加入候補