開啟SQL Server Denali之旅:字段存儲索引
SQL Server的最近三個版本都貼上了非官方的標簽,每一個版本都是為那些大多數新特性所針對的用戶群量身定做的。例如,SQL Server 2005被認為是一個面向開發者版本,而SQL Server 2008則被看作是一個面向數據管理員的版本。具備Microsoft PowerPivot數據分析工具并對SQL Server Analysis Services和 Reporting Services功能都進行了改進的SQL Server 2008 R2則是一個眾所周知的商業智能(BI)版本。
Microsoft于10月份在西雅圖舉行的Professional Association for SQL Server (PASS) Summit 2010上發布了SQL Server下一個版本(代號Denali)的***個社區技術預覽版(CTP)。似乎這個發布版本將不會再貼上傳統的標簽;相反,Denali具有適合所有人使用的功能。而且幾個新的功能使Denali能夠吸引人們現在就開始對它進行評估和測試,因此您必須做好在商業版在年末或明年發布時進行更新的準備。
字段存儲索引
字段存儲是SQL Server引擎的一種新型索引。字段存儲索引是通過一種名為VertiPaq的新數據架構支持,相對于常規的索引,它的設計能夠實現了顯著的性能提升。
在常規的索引中,來自每個記錄行的索引數據都被保留在一頁中,而每個字段的數據則分布在所有頁。字段索引將來自各個字段的數據打包在一起,因此每頁都包含一個字段的數據。此外,每個字段的索引數據都是壓縮的,而且由于字段總是包含高度重復的價值,您就能夠實現較高的壓縮比。如果您只選擇了少量的字段,那么這就意味著索引中的頁會更少一些,而且需要掃描的頁也會更少。
由于存儲在SQL Server中不同實例的數據性質會有所差別,因此很難知道在現實應用程序中數據檢索可以達到多快的速度,但是Microsoft表示它的速度可以快幾倍到幾百倍的速度。
從業務的角度看,這個功能可以改變用戶使用數據倉庫的方式。傳統地,數據倉庫中的表由于太大無法在實現實時檢索,因此它們并不適合臨時檢索:必須將這些表中的數據聚合起來,建立數據庫和生成報告,以及進行全天候緩存,才能夠為用戶提供及時的響應。
假設您的活期存款中有1,000美元,并且可以開出500美元的支票。但是在線查看帳號信息之后,您會發現余額仍然顯示為1,000美元。銀行有時候需要一定的時間刷新帳戶余額,因為對于大型的數據集,實現實時更新是不可行的,而且也幾乎是不可能的。類似的,數據倉庫總是必須在晚上運行提取、轉換和負載 (ETL)過程來更新和匯總數據。
但是一個存儲字段索引可以在數分鐘之內完成原本需要一個多小時才能完成的檢索,也能夠在幾秒鐘內完成原本幾將分鐘才能完成的檢索,因此您的業務可以轉變為實時檢索方式。這意味著我們不需要等待幾天的數據收集和匯總時間。底線是什么呢?您的業務用戶和執行決策者將更容易獲得他們所需要的數據。
【編輯推薦】