infobright

fobright自身的。 loader是in fobright最重要的概念:Kn


幾大優點:
1、高壓縮比率,平均壓縮比可達10:1,甚至可以達到40:1,我用infobright把3.1G的數據存成不足300M。
2、列存儲,即使數據量十分巨大,查詢速度也很快。用於數據倉庫,處理海量數據沒一套可不行。
3、不需要建索引,就避免了維護索引及索引隨著數據膨脹的問題。把每列數據分塊壓縮存放,每塊有知識格線節點記錄塊內的統計信息,代替索引,加速搜 索。
4、單一台伺服器可以高效地讀寫30T數據。具有可擴展性,這裡是指對於同樣的查詢,當數據量是10T時,它耗費的時間不應該比1T數據量時慢太 多,基本是一個數量級內。
下面是Infobright的架構圖:
灰色部分是mysql原有的模組,白色與藍色部分則是 infobright自身的。
系統結構分析:
跟mysql一樣的兩層結構,上面的邏輯層處理查詢邏輯,下面的是存儲引擎。邏輯層右端的loader與unloader是infobright的數據導入導出模組,也即處理SQL語句里LOAD DATA INFILE … 與SELECT … INTO FILE任務,由於infobright面向的是海量數據環境,所以這個數據導入導出模組是一個獨立的服務,並非直接使用mysql的模組。邏輯層的infobright最佳化器包在mysql查詢最佳化器的外面,如下面將會提到的,因為它的存儲層有一些特殊結構,所以查詢最佳化方式也跟 mysql有很大差異。存儲層最底層是一個個的Data Pack(數據塊)。每一個Pack裝著某一列的64K個元素,所有數據按照這樣的形式打包存儲,每一個數據塊進行類型相關的壓縮(即根據不同數據類型采 用不同的壓縮算法),壓縮比很高。它上層的壓縮器與解壓縮器就做了這個事情。壓縮層再向上就是infobright最重要的概念:Knowledge Grid(知識格線),這也是infobright放棄索引卻能套用於大量數據查詢的基礎。它包含兩類結點:每個Data Pack Node(知識節點)對應於一個Data Pack,存儲該Data Pack的一些統計信息,如min, max, avg, null的個數,甚至不同值的量等等;Knowledge Node則存儲了一些更高級的統計信息,以及與其它表的連線信息,這裡面的信息有些是數據載入時已經算好的,有些是隨著查詢進行而計算的,所以說是具備一 定的“智慧型”的。

相關詞條

相關搜尋

熱門詞條

聯絡我們