从不同的角度,我们可以把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的书刊好像还没有面世。