專家解讀DB2 BLU加速器功能

來源:互聯網
上載者:User

IBM公司在今年四月發布了最新的DB2資料庫,其中新增加了BLU加速器(BLU Acceleration)功能。從表面上看,BLU加速器是一個類似於列式儲存+記憶體計算的功能,但其中還有一些技術細節值得DBA注意。對此,資料庫諮詢顧問Curt Monash在他的部落格中對BLU加速器進行了細緻的解讀,方便DBA更深入地瞭解DB2 10.5版本中的這一新功能。

BLU加速器是新版DB2資料庫中的一個功能,它的作用類似於一個列式分析型DBMS。如果對BLU和非BLU表進行串連,其過程是先將所有BLU表串連,然後結果集再與其他DB2進行串連。至此,除了Oracle之外的其他主流企業級資料庫產品都已經添加了列式儲存的功能。

IBM宣稱,BLU能夠線性垂直擴充到64核CPU,而水平擴充將很快實現。IBM建議所有面向分析負載的DB2表都應該使用BLU加速器。第一個版本的BLU加速器針對10 TB層級資料庫進行了最佳化,其能力可以處理20 TB資料。

BLU加速器在技術方面的創新亮點包括:

查詢功能完全管道化(pipelining ),表掃描可以共用

資料忽略(Data Skipping)功能能夠有效降低I/O

基於單指令多資料結構(SIMD)的向量化(Vectorization )。

機率緩衝取代傳統LRU(Least Recently Used),經常被引用的資料區塊出現在記憶體當中的幾率就越大。這一功能的背後還有更複雜的隨機演算法支援。

“自動化工作負載管理”功能,IBM認為查詢之間的資源爭用是造成資源浪費的主要原因,這一功能讓BLU加速器與傳統DB2資料庫相比在並發性上產生差異性優勢。

此外,BLU採用列示儲存模型,在資料壓縮上同樣具備一定優勢。BLU壓縮包括了近似的霍夫曼編碼、首碼編碼和差值壓縮。此外IBM稱,所有的壓縮演算法都是保序的,因此範圍判斷可以直接在壓縮資料上執行,也就是說可以直接在壓縮的資料上進行處理和分析。這是BLU壓縮功能中最大的亮點。

同其他列式資料庫系統一樣,BLU加速器的寫資料效能是效能瓶頸所在。對此,IBM給出的解釋是在資料庫中對新資料進行移動(包括記憶體中和磁碟中的資料),是BLU加速器的優勢之一。IBM支援的方法包括:

BLU加速器支援LOAD、SQL INSERT、UPDATE、DELETE和其他三個基於SQL的操作,即INGEST、IMPORT和EXPORT(另外還包括BACKUP和RESTORE,它們也是移動資料的方式之一)。由於資料匯入的文法和語義都保持不變,因此意味著你不需要做任何修改就可以繼續使用IBM Data Stage或者其他第三方的ETL工具。

與其他列式資料庫廠商保證效能的方式有所不同,IBM沒有選擇使用表的delta地區來插入新資料,然後再非同步移動行資料到欄區域,這種資料的二次載入對於效能將造成很大影響。IBM的方法是,針對主表直接添加資料,然後使用批量轉換來平攤列式處理所帶來的延遲問題。通過批量處理資料,可以極大程度地消除列式資料庫的固有開銷,並且完全避免了資料的二次處理。

此外,IBM還為BLU加速器添加了新的列式日誌方法。從表面上來看,它與DB2傳統的基於日誌的交易恢複相同,但是其中日誌的資料格式是按照列的方式重新組織的。再加上XOR日誌功能,BLU可以極大程度上縮減日誌空間。而且BLU加速器的表能夠與傳統的資料庫表共存,IBM做到了二者的無縫整合。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.