走進列資料庫Infobright的世界

來源:互聯網
上載者:User

Sysbase可以說是列式資料庫的先驅,Sysbase IQ 15 就是Sybase 目前最新的列式資料庫。它具有強大的功能,包括資料的快速載入、超高速的分析效能、強大的業務智能分析、領先的資料建模能力等等。 Infobright是一個基於MySQL的資料倉儲系統,共工的不周山的blog上有挺詳細的介紹。

同樣是列式資料庫,但是Infobright和Sybase IQ系列還是有很大的不同。Infobright採用的Knowledge Grid來組織資料,Infobright內部是沒有索引,就這點就節省了不少的空間。而Sybase IQ系列還是使用了索引,而這些索引我個人的理解就是位元影像索引的改進版。白皮書上說,Infobright的資料壓縮比可以是10:1到40:1,個人拿龐大的日誌資料庫做了個小小實驗,感覺壓縮也沒那麼誇張。如果依據位元影像索引的思想,每列資料的相似性越高就會具有越高的壓縮比。Infobright應該也是滿足這一點的,但是具體Knowledge Grid內部如何?還不清楚,有待繼續考究。  

Infobright的優點有很多,簡單列舉如下:  

Infobright的優點:

1)高壓縮比率

2)快速響應複雜的分析查詢語句

3)隨著資料庫的逐漸增大,查詢和裝載效能基本保持穩定

4)沒有特殊的資料倉儲模型比如星狀模型、雪花模型)要求

5)無需要物化視圖、複雜的資料分區策略、索引

6)實施和管理簡單,需要極少的管理

7)和眾多的BI套件相容,比如Pentaho、Cognos、Jaspersoft。

Infobright有兩個版本ICE和IEE,目前ICE的版本是3.3.1,支援64位Linux和32位windows。ICE不支援DML,也就是不支援insert、update等操作。

粗糙集Rough Sets)是Infobright的核心技術之一。Infobright在執行查詢的時候會根據知識網路Knowledge Grid)把DP分成三類:

相關的DPRelevant Packs),滿足查詢條件限制的DP

不相關的DPIrrelevant Packs),不滿足查詢條件限制的DP

可疑的DPSuspect Packs),DP裡面的資料部分滿足查詢條件的限制

下面是一個案例:

,每一列總共有5個DP,其中限制條件是A>6。所以A1、A2、A4就是不相關的DP,A3是相關的DP,A5是可疑的DP。那麼執行查詢的時候只需要計算B5中滿足條件的記錄的和然後加上SumB3),SumB3)是已知的。此時只需要解壓縮B5這個DP。從上面的分析可以知道,Infobright能夠很高效地執行一些查詢,而且執行的時候where語句的區分度越高越好。where區分度高可以更精確地確認是否是相關DP或者是不相關DP亦或是可以DP,儘可能減少DP的數量、減少解壓縮帶來的效能損耗。在做條件判斷的使用,一般會用到上一章所講到的Histogram和CMAP,它們能夠有效地提高查詢效能。

多表串連的的時候原理也是相似的。先是利用Pack-To-Pack產生join的那兩列的DP之間的關係。

比如:SELECT MAX(X.D) FROM T JOIN X ON T.B = X.C WHERE T.A > 6。Pack-To-Pack產生T.B和X.C的DP之間的關係矩陣M。假設T.B的第一個DP和X.C的第一個DP之間有元素交叉,那麼M[1,1]=1,否則M[1,1]=0。這樣就有效地減少了join操作時DP的數量。

前面降到瞭解壓縮,順便提一提DP的壓縮。每個DP中的64K個元素被當成是一個序列,其中所有的null的位置都會被單獨儲存,然後其餘的non-null的資料會被壓縮。資料的壓縮跟資料的類型有關,infobright會根據資料的類型選擇壓縮演算法。infobright會自適應地調節演算法的參數以達到最優的壓縮比。

相關文章

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.