淺析SQL Server 2008企業級新特性
來源:程序員人生 發布時間:2014-03-14 00:11:58 閱讀次數:2804次
SQL Server 2008已經發布,我們可以看到它在各方面都有了顯著的進步,這些讓人側目之處和失望之處都有可能極大地影響大型企業的采購意向。
微軟SQL Server 2008的開發代號是Katmai,這個名字來源于阿拉斯加半島東端阿拉斯加州北部阿留申山區的一座活火山,對數據庫而言,可能并不是個最好的比喻(嘿嘿,目前為止,Katmai火山還沒有在我頭上爆發過)。低調的Katmai看起來似乎是Yukon的一個好的接班人,而Yukon是SQL Server 2005的開發代號。
在基于對SQL Server 2005徹底的、面向企業的改進之后,Katmai為大規模部署帶來了非常引人注目的特性,比如數據庫引擎中的數據及備份壓縮、稀疏列、壓縮與過濾索引,這些功能都是為了節省存儲空間,環保、綠色;另外,別忘了還有Change Data Capture,其在表中捕捉生成數據的差別,以便更新數據倉庫。
這些都只不過是冰山一角(喔,不是冰山是火山),還有許多其他的新特性,如基于策略的管理——這是針對中小企業和大型企業的,不僅這些,SQL Server 2008的各個方面都讓人留下了深刻的印象。
更多的數據,更少的存儲空間
一般來說,數據庫中有兩種類型的壓縮:行壓縮與頁壓縮。實際上,它們以不同的方法壓縮數據,因此,很有必要理解兩者的優勢所在及它們的工作方式。行壓縮是真正的壓縮,為什么數據庫引擎會刪除列尾未使用的空間呢?當然這是為了節省空間。這正是SQL Server在vardecimal壓縮中使用的同一技術,微軟只不過把它擴展到其他數據類型上了。
而頁壓縮使用的是眾所皆知的字典壓縮,它把每頁中的數據標準化之后并保留一個查找指針。這也是Oracle Database 11g所使用的技術,只不過Oracle稱之為Oracle高級壓縮。在此,我們無須對兩種壓縮方式了解過多,但必須知道SQL Server的頁壓縮包括了更低級的行壓縮,換句話來說,如果你打開了頁壓縮,就自動打開了行壓縮。
在SQL Server 2008中,微軟已經包含了幾個存儲過程,以方便你在開始壓縮之前,就可以估計使用哪種壓縮方法之后,兩者的節省水平,以及解壓數據庫之后,數據將會擴展到多大。這是一個非常重要且體貼的功能,因為你不僅需要了解是否值得花時間壓縮,而且還要知道磁盤是否處理得了還原后未壓縮的數據。但要緊記的是,這些存儲過程是基于小范圍的統計上的隨機數據采樣,如果碰巧遇到一個數據上的采樣失誤,那么就會得到錯誤的估計結果。
另外,微軟實現壓縮的方法,節約的不僅僅是存儲資源,數據還可以在內存中保持壓縮狀態,只在讀取時才解壓,這意味著你可以把更多的數據頁裝入內存中,由此減少磁盤讀取次數,而CPU用于解壓的時間,也遠遠少于磁盤尋道的時間。
生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈