資料庫 -- AI 偵探風格
以「推理探案」的方式,追查資料庫六十年(1961–2012)的每一場危機與轉身: 前因是什麼?線索在哪裡?推理如何展開?後果又如何改變了整個世界?
本卷特別追蹤三位圖靈獎得主的貢獻——Bachman(1973)、Codd(1981)、Gray(1998)、 Stonebraker(2014)——每一屆得主都改寫了這門學科的一章。
核心謎題只有一個:「資料」到底是什麼?它如何被組織、查詢、保護與分佈?
案件卷宗(歷史年表)
導航時代:層次與網路模型(1961 – 1969)
關聯式革命:數學取代導航(1970 – 1979)
交易與容錯:ACID 的誕生(1981 – 1995)
分佈時代:NoSQL 與 NewSQL(2000 – 2012)
四大歷史脈絡
- 資料模型(IMS/Bachman → Codd → Stonebraker):從導航到數學,再從「一個尺寸」到「各得其所」。
- 查詢語言(關聯代數 → SQL):宣告式語言「說你要什麼,不說怎麼拿」的五十年統治。
- 容錯與交易(Gray → Spanner):從 ACID 到 TrueTime,崩潰與分區永遠是敵人。
- 分佈(CAP → Dynamo → Spanner):從理論三選二,到工程上用硬體與 Paxos 繞路。
圖靈獎主線
\[ \text{Bachman(1969,網路模型)} \to \text{Codd(1970,關聯式)} \to \text{Gray(1981,交易 ACID)} \to \text{Stonebraker(1974/1986/2005,Ingres/Postgres/列存)} \]
關鍵人物年表
| 年代 | 人物 | 貢獻 | 圖靈獎 |
| 1961 | IBM(Vernon Watts 等) | IMS 層次資料庫 | — |
| 1969 | Charles Bachman | 網路模型、DBTG 報告 | 1973 |
| 1970 | Edgar F. Codd | 關聯式模型、關聯代數 | 1981 |
| 1974 | Donald Chamberlin / Raymond Boyce | SEQUEL(SQL) | — |
| 1974 | Michael Stonebraker | Ingres、QUEL | 2014 |
| 1976 | Peter Chen(陳品山) | ER 模型 | — |
| 1979 | Larry Ellison | Oracle V2 商業化 | — |
| 1981 | Jim Gray | ACID、兩階段提交、WAL | 1998 |
| 1986 | Michael Stonebraker | Postgres、物件關聯式 | 2014 |
| 1995 | Michael Widenius | MySQL、LAMP | — |
| 2000 | Eric Brewer | CAP 猜想 | — |
| 2005 | Michael Stonebraker / David Dewitt | 列存、《One Size Fits All?》 | 2014 |
| 2007 | Amazon(DeCandia 等) | Dynamo、一致性雜湊 | — |
| 2012 | Google(Corbett 等) | Spanner、TrueTime | — |