• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      大數(shù)據(jù)預聚合OLAP技術及應用場景探究

      2017-10-23 13:00連城
      無線互聯(lián)科技 2017年19期
      關鍵詞:應用場景大數(shù)據(jù)

      連城

      摘 要:隨著業(yè)務的不斷發(fā)展,人們已不滿足于大數(shù)據(jù)技術提供的海量存儲與離線分析能力,希望能支持聯(lián)機分析處理(OLAP)場景。然而在海量數(shù)據(jù)條件下,對OLAP緯度、指標數(shù)量、查詢的并發(fā)度及響應時間都有較高的要求。傳統(tǒng)的RMDBS或SQL on Hadoop能力有限,不能有效支撐。以Druid和Kylin為代表的預聚合技術的出現(xiàn),在較大程度上滿足了大數(shù)據(jù)OLAP場景的需求。文章在簡述OLAP技術發(fā)展的基礎上,分析這類預聚合技術的系統(tǒng)特點及應用場景。

      關鍵詞:大數(shù)據(jù);OLAP;預聚合;應用場景

      近年來,開源大數(shù)據(jù)技術逐漸占領了數(shù)據(jù)分析的市場。Hadoop生態(tài)圈的分布式文件系統(tǒng)(Hadoop Distributed File System,HDFS)和HBase作為主流的海量數(shù)據(jù)存儲、Hive作為主流SQL數(shù)據(jù)分析引擎,逐步蠶食傳統(tǒng)分析型關系數(shù)據(jù)庫的市場。為解決MapReduce低效問題,出現(xiàn)了以內存為中心的計算引擎配合Hadoop的方式,諸如SparkSQL,Impala,Presto等SQL on Hadoop。它們的出現(xiàn)使得數(shù)據(jù)分析擺脫了對傳統(tǒng)關系型數(shù)據(jù)庫的依賴,一次分析數(shù)據(jù)量也增加到TB或PB級,支持任意緯度和指標。但是響應時間上就從秒到分鐘不等,量大會到小時。為了滿足大數(shù)據(jù)聯(lián)機分析處理(On-Line Analytical Processing,OLAP)場景的需求,出現(xiàn)了以Druid和Kylin為代表的預聚合技術。通過對其系統(tǒng)特點的分析,借鑒解決大量聚合后結果存放,查詢的并發(fā)度高、響應時間短,預聚合時效性高等一系列大數(shù)據(jù)OLAP問題的思路。通過對其應用場景的探討,可為將來引入該類技術提供參考。

      1 OLAP技術發(fā)展簡史

      OLAP是共享多維信息的、針對特定問題的聯(lián)機數(shù)據(jù)訪問和分析的快速軟件技術。按照其實現(xiàn)方式不同,可以分為ROLAP(Relational)、MOLAP(Multidimensional)和HOLAP(Hybrid)3種類型。其中,ROLAP采用關系表存儲維信息和事實數(shù)據(jù);MOLAP則采用多維數(shù)據(jù)結構存儲維信息和事實數(shù)據(jù);而HOLAP稱其為混合OLAP,該方法結合了ROLAP和MOLAP技術。無論是何種OLAP,都需要存儲和計算平臺的支持[1]。

      1.1 傳統(tǒng)RMDBS技術

      諸如Oracle,DB2,MySQL,Postgresql等傳統(tǒng)RMDBS(關系型數(shù)據(jù)庫系統(tǒng))技術,都是使用關系表存儲維信息和事實數(shù)據(jù),屬于ROLAP類型。傳統(tǒng)關系型數(shù)據(jù)庫一般同時具備存儲和計算能力,相對于大數(shù)據(jù)計算與存儲分離,是一種緊湊的架構。數(shù)據(jù)量級方面一般小于百(千)萬行級;緯度和指標數(shù)量一般小于10個;查詢響應時間一般是毫秒到秒,量大會到分鐘。當然上述條件會因為數(shù)據(jù)庫配置及自身特性有所不同,比如DB2這種分布式能力較強的分析類關系數(shù)據(jù)庫,其OLAP分析條件會更好。

      1.2 并行計算SQL on Hadoop技術

      大數(shù)據(jù)處理方式簡單來說就是:計算+存儲。諸如Hive,SparkSQL,Impala,Presto等都是基于Hadoop存儲(準確來說應是HDFS)之上的計算引擎。從基于磁盤的MapReduce到基于內存的Spark,以及類似MPP架構的Impala和Presto。每次新型計算引擎的出現(xiàn),在保證高擴展性、并行計算能力為前提,不斷縮短查詢響應時間、提高并發(fā)度。數(shù)據(jù)量級方面一般介于百(千)萬行級和億行級之間;緯度和指標數(shù)量一般無限制;查詢響應時間一般是秒到分鐘,量大會到小時。當然上述條件會因為Hadoop集群規(guī)模配置及引擎特性有所不同。SQL on Hadoop本質上還是使用關系表存儲維信息和事實數(shù)據(jù),屬于ROLAP類型。

      1.3 預聚合OLAP on Hadoop技術

      SQL on Hadoop以ROLAP的方式支持聯(lián)機分析處理,在縮短查詢響應時間、提高并發(fā)度方面已近極限。為了在大數(shù)據(jù)環(huán)境下,支持更快查詢響應和并發(fā)度,方法就是基于多維數(shù)據(jù)構建Cube模型,通過大量的預聚集計算,實現(xiàn)生成支持多維分析的Cube,并在此基礎上支持以下鉆、上卷、切片、切塊、旋轉等操作的MOLAP。其優(yōu)點就是通過數(shù)據(jù)的深加工(預聚集計算、索引、壓縮、緩存等),換取高的OLAP性能;缺點是數(shù)據(jù)預處理環(huán)節(jié)多,處理周期長,數(shù)據(jù)維度不宜過高,數(shù)據(jù)冗余多[2]。以Druid和Kylin為代表的預聚合技術,均屬于MOLAP類型,也被稱作OLAP on Hadoop。數(shù)據(jù)量級方面一般介于億行級和百(千)億行級之間;緯度數(shù)量建議小等于15個;指標數(shù)量一般無限制;查詢響應時間一般是毫秒到秒。

      2 系統(tǒng)特點分析

      目前開源MOLAP多維數(shù)據(jù)分析工具,包括Kylin,Druid,Pinot等。其中Kylin和Druid是使用比較廣泛的OLAP on Hadoop。

      2.1 實時多維分析OLAP引擎—Kylin

      Kylin全稱叫作Apache Kylin,是Apache開源軟件基金會里的頂級項目,用了Hadoop生態(tài)圈里面多個組件。通過Hive批量、Kafka實時導入數(shù)據(jù),預計算支持MapReduce,Spark,Streaming方式。當整個計算結束之后,所有的分析應用、查詢應用、挖掘應用會像數(shù)據(jù)庫一樣,通過標準的SQL訪問。Kylin系統(tǒng)會非常精準地知道查詢結果在哪里,馬上可以把這個結果反饋。這點是通過其構建的Cube立方體,將某個條件(作為Key)的結果(作為Value)放在HBase中。Kylin的查詢引擎會將SQL條件翻譯為對應Cube的頂點(HBase的Key)并取得結果返回。由于Kylin使用HBase存儲預聚合結果,在查詢時間和并發(fā)度上都有很好的表現(xiàn)。

      Kylin主要特點如下:標準的SQL接口;支持超大數(shù)據(jù)集;亞秒級響應;可伸縮性和高吞吐率;BI及可視化工具集成[3]。

      Kylin必須預先定義模型用于描述Cube,由于是預計算模型內所有緯度的組合,作為key并存儲到HBase這類快速存儲。如果模型緯度太多則存儲膨脹度相當恐怖。

      2.2 實時探索查詢OLAP引擎—Druid

      Druid是一個開源、分布式的列存儲,適用于實時數(shù)據(jù)分析的存儲系統(tǒng),能夠快速聚合、靈活過濾、毫秒級查詢和低延遲數(shù)據(jù)導入。最初由美國廣告技術公司MetaMarkets開源,后作者獨立Imply.io公司商業(yè)運作,其設計的適用場景是對PB級數(shù)據(jù)的快速聚合查詢[4]。為了做到毫秒級的查詢響應,Druid的核心思想是對數(shù)據(jù)的索引和預聚合,并載入內存快速查詢。為了支持實時分析,在預聚合模型方面僅支持時序模型,數(shù)據(jù)是不可變的。Druid集群采用無共享的架構,同時依賴Zookeeper,MetadataStore(一個關系型數(shù)據(jù)庫),Deep Storage(HDFS等文件系統(tǒng))3個外部服務。

      Druid具有如下技術特點:數(shù)據(jù)吞吐量大;支持流式數(shù)據(jù)攝入和實時;查詢靈活且快。然而,Druid對SQL的支持不友好,而且不支持Join,僅提供了一個Lookup功能,滿足維表的星型關聯(lián)。

      3 應用場景

      Druid和Kylin都是使用預聚合技術,以空間換時間。不同的是Druid預計算最大維度組合,然后通過對維度做索引。當查詢請求來的時候,再后發(fā)地根據(jù)剛才做的緯度索引,定位到最細粒度的數(shù)據(jù),然后把這些數(shù)據(jù)撈出來。優(yōu)點是索引帶來額外的空間可控(估計要50%以上,但比Kylin要?。┣宜惴ńy(tǒng)一,不用預建模型。缺點就是撈出來的數(shù)據(jù)默認是近似值,目前只能在有限范圍內(可配置)精確查詢,代價就是耗資源。Kylin是預計算模型內所有緯度的組合,業(yè)務必須能被預先定義為Cube模型,且模型緯度不能太多。但優(yōu)點是支持排重,精確度有保證。

      簡單來說,Kylin更適合有15個左右固定的分析維度,特別是有Join的復雜場景,比如:銷售、市場、管理等商務報表,預算決算,經(jīng)濟報表等;Druid適合時序類實時分析場景,比如:廣告點擊、運維監(jiān)控、安全事件等數(shù)據(jù)分析。

      4 結語

      如果數(shù)據(jù)量級巨大又對查詢響應時間有秒級要求,就要結合場景考慮使用Druid或Kylin這種MOLAP類型的大數(shù)據(jù)預聚合技術。通過在數(shù)據(jù)接入的時候,根據(jù)指定預聚合的指標進行聚合運算,并使用快速存儲保存聚合結果,以滿足大數(shù)據(jù)OLAP查詢需求。數(shù)據(jù)在聚合的過程中會丟失指標對應的列值信息,可結合ROLAP類型的并行計算SQL on Hadoop技術解決??梢灶A見大數(shù)據(jù)HOLAP類型會將明細數(shù)據(jù)以ROLAP的形式存放,更加方便靈活,而高度聚合的數(shù)據(jù)以MOLAP的形式展現(xiàn),更適合于高效的分析處理。相信大數(shù)據(jù)預聚合OLAP技術作為大數(shù)據(jù)解決方案中重要的組成部分,將發(fā)揮更大的作用。

      [參考文獻]

      [1]宋杰,郭朝鵬,王智,等.大數(shù)據(jù)分析的分布式MOLAP 技術[J].軟件學報,2014(4):731-752.

      [2]杜小勇,陳躍國,覃雄派.大數(shù)據(jù)與OLAP系統(tǒng)[J].大數(shù)據(jù),2015(1):48-60.

      [3]Apache Kylin核心團隊.Apache Kylin權威指南[M].北京:機械工業(yè)出版社,2017.

      [4]歐陽辰,劉麒贇,張海雷,等.Druid實時大數(shù)據(jù)分析原理與實踐[M].北京:電子工業(yè)出版社,2017.

      猜你喜歡
      應用場景大數(shù)據(jù)
      云計算在運營商業(yè)務系統(tǒng)中的應用研究
      淺談北方移動微管微纜技術應用場景
      室內外布線用新型光纜技術規(guī)范應用研究
      大數(shù)據(jù)環(huán)境下基于移動客戶端的傳統(tǒng)媒體轉型思路
      大田县| 蕲春县| 眉山市| 沙雅县| 石景山区| 轮台县| 永福县| 江西省| 桐庐县| 关岭| 五莲县| 石楼县| 辽源市| 子洲县| 高唐县| 贺兰县| 马鞍山市| 八宿县| 庐江县| 澄江县| 祁门县| 峨眉山市| 平定县| 兰考县| 罗平县| 怀安县| 寿宁县| 曲水县| 寿阳县| 尚志市| 唐河县| 九寨沟县| 石城县| 瓮安县| 靖州| 新巴尔虎左旗| 双牌县| 方城县| 横山县| 山阴县| 天祝|