SQL Server數據庫是目前應用非常廣泛的數據庫類型,而SQL Serve2014則是目前SQL Server 數據庫家族當中已經成熟的最新版本。那么SQL Server 2014相對于前期出來的兄弟版本,究竟有哪些方面的性能提升或者功能增加呢?中培偉業《SQL Server 2014數據庫管理與性能調優》培訓專家臧老師在這里進行了介紹。
臧老師指出,SQL Server 2014作為該系列的重要升級版本,核心要素分為兩點:云與速度——換言之,更具體地講在于Azure集成與內存內OLTP(即聯機事務處理。實事求是地講,相較于云、臧老師對于速度方面的提升更感興趣,不過他也指出目前有越來越多的客戶開始嘗試以云為基礎的運營方式、而云功能對于這部分使用者而言可謂至關重要。
縱觀整個SQL Server家族,臧老師認為SQL Server 2014可以算是自SQL Server 2008 RTM以來最為重要的一個版本。據臧老師介紹,SQL Server 2008帶來的變更數據捕捉、數據壓縮以及最為重要的PowerShell等功能特性。接下來的SQl Server 2008 R2則提供用于自助式商務智能的PowerPivot插件、StreamInsight以及主數據服務。SQL Server 2012帶給我們的新組件包括Availability Groups、列式存儲索引以及數項T-SQL強化。大家可以將SQL Server 2008視為一套數據倉庫版本,SQL Server 2008 R2作為商務智能版本,而SQL Server 2012則作為高可用性版本。
SQL Server 2014對部分上述功能作出了進一步增強,其中包括Availability Groups、列式存儲索引以及安全性加密備份機制等等。
將數據庫交由Azure打理
SQL Server 2014允許用戶通過兩種方式使用Azure存儲資源。第一,大家可以將數據庫備份至Azure BLOB存儲體系當中。盡管這項功能官方將其稱為SQL Server Backup to URL)早在2012年就已經出現,但SQL Server 2014利用SQL Server Managed Backup to Windows Azure對其進行了強化作。
滿足速度需求
時至今日,即使是規模最小的網絡業務新興企業都開始將著眼點放在全球市場,但他們很快發現自己的服務器已經被無數請求所淹沒。在性能表現方面,微軟在這套最新SQL Server版本中提供了一些不錯的特性以應對此類挑戰。
臧老師指出,Hekaton之所以能夠帶來如此顯著的性能提升效果,依靠的是對優化算法、樂觀并發、消除物理鎖定與閉鎖以及內存內表存儲等機制的結合。如果大家設定了只將面向優化內存表的存儲規程,則可以將其轉換成Hekaton規程以獲得更理想的運行速度。轉換過程會將其編譯成原生代碼,從而實現執行效率提升。
這種轉換對于對象類型有所限制,因此大家需要在全面采用這套解決方案之前先對代碼進行檢查與測試。舉例來說,優化存儲規程當中不能包含指針、子查詢甚至是CTE(即公用表表達式。這只是這份長長的不支持清單當中的一部分條目,剩下的部分請大家自己做好功課——包括數據庫與表的各種要求。鑒于這還是一項全新功能,我相信這些限制將隨時間的推移而逐漸解除。
SQL Server 2012引入的列式存儲索引給數據倉庫的性能表現帶來大幅提升。我個人曾經實際體驗過,原本在傳統索引中需要耗時數分鐘的查詢操作在列式存儲索引中不到一秒即可完成。列式存儲索引的弊端在于其無法進行更新。為了將數據載入到表中,大家必須首先清除這些索引,并在載入完成后另行創建。SQL Server 2014很好地解決了這個問題,如今列式存儲索引已經支持更新功能,這無疑是一個巨大的進步。
專走捷徑
這項功能被稱為Delayed Durability,它實際并不會對數據庫產生加速作用、但卻能讓終端用戶從使用體驗上感受到提速效果。
我們假設終端用戶現在需要更新一條記錄。更新內容首先被寫入到內存中的日志里,而這份日志隨后被寫入磁盤。在日志記錄被寫入到磁盤中后,應用程序會識別出事務處理已經完成,這樣用戶就能繼續進行其它工作了。針對數據庫的實際更新操作會在之后的時段內進行。現在有了Delayed Durability,應用程序將在日志被寫入到磁盤之前就獲得事務完成提醒。這意味著終端用戶用不著等待日志向低速磁盤介質寫入這一相對緩慢的處理過程,即可快速處理其它工作。臧老師發現很多系統中的瓶頸都源自日志處理過程,而Delayed Durability能夠很好地解決這個問題。
最后,SQL Server 2014還帶來了一系列安全強化機制。當然,我們現在已經擁有備份加密方案,不過其它新功能的出現直接宣判了第三方備份產品的死刑。此外新版本還提供多種新的服務器級權限——CONNECT ANY USER DATABASESELECT ALL USER SECURABLES——它們允許大家以前所未有的簡便方式進行安全事務管理。具體來講,我們現在可以將這些權限一次性指派給全部現有以及未來將要創建的數據庫系統。大家不必再隨著新數據庫的不斷加入而重復權限分配流程。
臧老師最后總結道,SQL Server 2014為我們提供了多種提升性能表現的途徑,并允許大家利用Azure云實現備份與高可用性保障。目前面對此類難題的SQL Server用戶們,臧老師也認為這款新的版本足夠值得大家的重視
想了解更多IT資訊,請訪問中培偉業官網:中培偉業