從不同的角度,我們可以把SQL Server資料平台劃分為多個組件。我們下面按照SQL Server Internal Team通常的劃分原則,把SQL Server資料平台劃分為如下:
- SSAS: SQL Server Analysis Service。主要用來做分析用,比如Cube,可以從不同的角度審視資料。
- SSIS: SQL Server Integration Service。比如Excel資料和資料庫資料的互操作。
- SSRS: SQL Server Reporting Service。主要用來做BI,做報表。
- Engine: SQL Server Engine。資料庫的引擎,非常重要,好比人的心臟一樣。
- MPU: SQL Server資料庫的外圍,比如Install,Uninstall,Upgrade,Repair等等。
上述5大組件構成了整個SQL Server資料平台。由於SQL Server Engine 特別重要,我們又可以把它劃分為如下的Components:
- AM: Access Method。比較底層,主要用來儲存資料。
- TS: Transaction Service。事務,一切交易資料庫的基礎。
- FS: Filestream。SQL Server 2008的新增功能,主要用來儲存>2G的資料到NTFS Driver。
- QE: Query Execution。主要負責SQL 陳述式的執行。
- QP: Query Process。主要用來處理使用者Issue的SQL語句,比如T-SQL語句的最佳化,執行計畫。
- SQLOS: SQL Operation System。SQL Server 2008的新增組件,為了控制資料庫更加靈活,為之開發了一個單獨的OS層。
- Programmability:主要用來負責和VS等編程平台的銜接以及SQL編程,比如Assembly,遊標,預存程序,觸發器等等。
- XML:用來操作XML資料。
- Replication:用來進行資料的複製,複製是資料庫的一個比較有用的功能。
- FullText:用來做全文索引。
- SSB: SQL Server Service Broker:一個底層的組件,非常有用,用來保持通訊的一致性。
對於以上Engine的11個Components中,AM,TS,FS構成了SQL Server Storage Engine。至於每個組件的功能,我會在以後的Blog中進行詳細的描述,這篇文章主要是一個大概。
這裡有幾本書可以供大家參考:
- Inside SQL Server 2000
- Inside-MsSql2K5-SE (Inside Microsoft SQL Server 2005 Storage Engine)
- Inside-MsSql2K5-P (Inside Microsoft SQL Server 2005 Programming)
- Inside-MsSql2K5-TSql (Inside Microsoft SQL Server 2005 T-SQL Querying)
- Inside-MsSql2K5-QTO (Inside Microsoft SQL Server 2005 Query Tuning and Optimization)
截止到此時,Inside系列的Inside 2008的書刊好像還沒有面世。