首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> 關於SqlServer

SQL Server 2008 最後 CTP 聚焦資料壓縮技術:從 Vardecimal 到行/頁面級壓縮演進

     編輯:關於SqlServer

背景

SQL Server 2008 正式發行前六個月,微軟釋出最後社區測試版 (RC0),讓企業在安全環境 (如虛擬伺服器) 評估新功能,核心亮點為資料壓縮技術。

壓縮技術演進

IBM DB2 先驅

  • 1998 年開始嘗試,2002 年 DB2 8 正式推出行壓縮:COMPRESS YES 宣告表需壓縮。
  • 原理:將變長欄位以隱藏索引表 (壓縮字典) 取代,但早期版本字典膨脹導致效果適得其反。

微軟差異化路徑

  • SQL 2005 推出檔案壓縮 (唯讀資料庫)。
  • SQL 2005 SP2 引入 Vardecimal:表層級啟用,decimal/numeric 儲存於列變長區段,非固定長度。語意不變,應用無感知。
  • SQL 2008 將 Vardecimal 概念擴展至所有資料類型,底層 row/page 格式重構,Storage Engine 唯一感知元件。

SQL 2008 壓縮架構

行級壓縮

  • 中繼資料從 2 位元組/欄降至 3 位元。
  • 數值型欄位依實際大小儲存:小整數 1 位元組,大值最多 4 位元組。

頁面級壓縮

  • 欄位前綴壓縮:同頁同欄重複前綴 (如 'Chad') 僅存一次,其他列以索引引用。
  • 頁面字典壓縮:針對前綴壓縮後仍重複片段建立字典,行內值以字典索引取代。
  • 實測 25 位元組壓縮至 17 位元組,節省 30%+。

每頁獨立壓縮,字典儲存頁內,頁面近滿才觸發壓縮。

效能權衡

CPU 使用率上升,但 I/O 與記憶體壓力下降,整體系統效能通常提升。應用語意完全不變,無需修改程式碼即可受益。

結語

SQL Server 2008 透過行/頁面級壓縮與 Vardecimal 演進,構建適用於作用中資料庫的高效壓縮架構,大幅降低儲存與 I/O 成本。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved