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

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

Data Systems Foundations 創始班,八週線上直播,一小群人從第一週一起走到最後。你會拿實際的系統來量,把核心機制自己刻一遍,然後拿一個你完全沒碰過的單機系統收尾。

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

課程內容

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

你買到的是 Data Systems Foundations 單機核心的早鳥名額:Phase 0–5 加上單機課程專題,用八週線上直播帶你上完,之後永久是你的。

單機核心永久擁有

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

八週,線上直播

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

你自己的 private labs repo

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

Playground、玩具實作、真實案例

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

兩輪真人回饋

針對你的機制筆記跟 mini-autopsy 直接給回饋。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 數字。

  3. 3隔離

    一次只動一個變因。動到兩個,跑出來的結果你自己也解釋不了。

  4. 4實作

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

  5. 5解釋與比較

    同類的擺一起比:B-tree 對 LSM、row 對 column、Postgres 對 DuckDB,然後想清楚它們為什麼做了不一樣的選擇。

  6. 6套用

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

課程大綱

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

完整的 Data Systems Foundations 主線,分成兩層。創始班是單機這層:Phase 0–5 加上單機課程專題,永久擁有。分散式那層(Phase 6–8 加分散式課程專題)之後才開,創始班學員到時候 7 折。每個階段都跑同一套六步循環,每一層都以一場完整的系統解剖收尾。

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

  • 00

    Phase 0 — 量測與工作負載

    沒量過就不要優化。

  • 01

    Phase 1 — SQL、Query Plan、執行

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

  • 02

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

    同一份資料,用 document、graph、wide-column 各做一次。

  • 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、案例、課程站)都是英文,線上直播課用中文上。之後可能會加開英文授課的班,如果你會想上,加入候補的時候順便跟我們說一聲,我們就是靠這個看有多少人要。

課程的節奏怎麼跑?

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

退費怎麼算?

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、玩具實作,還有真實線上系統的案例
  • 兩輪真人回饋,看你的筆記跟 mini-autopsy
  • 一小班同學可以互相對數字、討論,外加一個私人的課程站
  • 你的創始價永久鎖住,之後開的班就是原價了
加入候補

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

資源

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

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

資料系統時間軸

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

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

經典論文,精煉版

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

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

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

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

加入候補