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