11.15 超高速的大數據OLAP——Kylin

超高速的大數據OLAP——Kylin

一、kylin概述

Kylin 的使命是超高速的大數據OLAP(Online Analytical Processing ),也就是要讓大數據分析像使用數據庫一樣簡單迅速,用戶的查詢請求可以在秒內返回,交互式數據分析將以前所未有的速度釋放大數據裡潛藏的知識和信息,讓我們在面對未來的挑戰時佔得先機 。

二、為什麼要用kylin

“SQL on Hadoop”技術應運而生,其中以Hive為代表,Impala、Presto、Phoenix 、Drill、Spark SQL 等緊隨其後。它們的主要技術是“**大規模並行處理**”(Massive Parallel Processing ,MPP)和“列式存儲”(Columnar Storage)。大規模並行處理可以調動多臺機器一起進行並行計算,*用線性增加的資源來換取計算時間的線性下降*。列式存儲則將記錄按列存放,這樣做不僅可以在訪問時只讀取需要的列,還可以利用存儲設備擅長連續讀取的

特點,大大提高讀取的速率。這兩項關鍵技術使得Hadoop上的SQL查詢速度從小時提高到了分鐘。

然而分鐘級別的查詢響應仍然離交互式分析的現實需求還很遠。

這是因為大規模並行處理和列式存儲雖然提高了計算和存儲的速度,但並沒有改變查詢問題本身的時間複雜度,也沒有改變查詢時間與數據量成線性增長的關係這一事實。

超高速的大數據OLAP——Kylin

三、kylin怎樣解決問題

Apache Kylin的初衷就是要解決千億條、萬億條記錄的秒級查詢問題,其中的關鍵就是要打破查詢時間隨著數據量成線性增長的這個規律。

大數據查詢要的一般是統計結果,是多條記錄經過聚合函數計算後的統計值,。原始的記錄則不是必需的,或者訪問頻率和概率都極低。

聚合是按維度進行的,由於業務範圍

和分析需求是有限的,有意義的維度聚合組合也是相對有限的,一般不會隨著數據的膨脹而增長。

基於以上兩點,我們可以得到一個新的思路——**“預計算”**。應儘量多地預先計算聚合結果,在查詢時刻應儘量使用預算的結果得出查詢結果,從而避免直接掃描可能無限增長的原始記錄。

**“預計算” 就是Kylin在“大規模並行處理”和“列式存儲”之外,提供給大數據分析的第三個關鍵技術 。**

超高速的大數據OLAP——Kylin


分享到:


相關文章: