管理軟體核心在資料存儲,資料庫架構設計是關鍵。SQL Server 歷史回顧:
- 1994 年微軟與 Sybase 分手,自主開發 SQL Server 6.0 (首個真正微軟資料庫產品)。
- 1999 年 SQL Server 7.0 重寫引擎,首支援列鎖 (Oracle 6 1988 年已有)。
- 2005 年 SQL Server 2005 引入 CLR、Service Broker、DMV、CTE 等現代特性。
SQL Server 兩大核心子系統
- 儲存引擎:資料檔案管理、緩衝區池、記錄管理、檢查點、備份/還原、DBCC、空間配置 (GAM/SGAM/IAM/PFS)。
- 查詢引擎:解析器 (Parser) → 綁定器 (Binder) → 最佳化器 (Optimizer) → 執行引擎 (Execution Engine)。
其他元件 (鎖管理器、交易管理器、記錄管理器、排程器/SQLOS) 圍繞雙核心協作。
架構思維啟發
- 管理軟體常陷入業務邏輯泥沼,忽略底層資料存取架構。
- 學習資料庫內核分層 (儲存/查詢/鎖/交易/排程),可指導自研平台分層設計:
• 資料存取層 (對應儲存引擎)
• 業務查詢層 (對應查詢引擎)
• 並發控制層 (對應鎖/交易)
• 排程/資源層 (對應 SQLOS)
- 「四大金剛」 SELECT/INSERT/UPDATE/DELETE 背後是龐大系統工程,理解內核才能寫出高效 SQL 與架構。
後續將深入剖析儲存引擎頁面結構、緩衝區管理、查詢最佳化器規則等核心主題。