來源:北大青鳥總部 2023年08月02日 09:26
隨著互聯(lián)網、物聯(lián)網、5G、人工智能、云計算等技術的不斷發(fā)展,越來越多的數(shù)據(jù)在互聯(lián)網上產生,對互聯(lián)網的運營也開始進入精細化,因此大數(shù)據(jù)、數(shù)據(jù)分析、數(shù)字營銷開始變成每個互聯(lián)網企業(yè)的重點。在做數(shù)據(jù)分析時有OLAP、OLTP是我們必定會遇到的技術,在介紹OLAP引擎技術選型之前,我們先看看這兩個技術分別是什么意思?
OLTP(OnlineTransactionProcessing聯(lián)機事務處理),是傳統(tǒng)關系型數(shù)據(jù)庫的應用技術,提供日常的、基本的事務處理,比如在線交易之類。OLAP(OnlineAnalyticalProcessing聯(lián)機分析處理),是大數(shù)據(jù)分析的應用技術,提供復雜的分析操作、側重決策支持。目前主流的OLAP引擎包括Hive、Presto、Druid、Clickhouse、Kylin、Sparksql、Greeplum,每個引擎都有它各自的特點,我們今天就來簡單聊一聊,大家在實際使用時根據(jù)自己需求選擇就好~
第一款OLAP引擎便是Hive。它是基于Hadoop的數(shù)據(jù)倉庫工具,可將結構化的數(shù)據(jù)直接轉換成數(shù)據(jù)庫表,HIve系統(tǒng)將HQL語句(類SQL語法)轉化成MapReduce進行執(zhí)行,本質上就是一款基于HDFS的MapReduce計算框架,使用HQL就可以對存儲數(shù)據(jù)進行分析.Hive的優(yōu)點是學習簡單(支持SQL語法)、擴展性強(底層基于HDFS),缺點就是太慢了(數(shù)據(jù)處理任務全轉換成MapReduce任務)。如果你的業(yè)務有數(shù)據(jù)分析的訴求,并且可接受一定的延遲,那么Hive是個不錯的選擇噢!
第二款OLAP引擎便是Presto。它是FaceBook開源的大數(shù)據(jù)分布式SQL查詢引擎,客戶端發(fā)出數(shù)據(jù)查詢請求時,先有語法解析器進行解析,解析之后再給到對應的節(jié)點執(zhí)行任務。Presto通過自己系統(tǒng)內部的查詢和執(zhí)行引擎來完成數(shù)據(jù)分析處理,所有的操作都在內存中完成,所以速度會快很多。Presto的優(yōu)點是速度快、支持多數(shù)據(jù)源接入,缺點是容易內存溢出。
第三款引擎便是Clickhouse數(shù)據(jù)庫。它是俄羅斯開源的一款列式數(shù)據(jù)庫,在做數(shù)據(jù)分析時可直接選擇某幾列來作為分析屬性,獲取數(shù)據(jù)非???,延遲低,如果按行讀取,每次只能讀取一個數(shù)據(jù),有10000條就需要讀取1000次,降低了效率。此外在存儲層它實現(xiàn)了數(shù)據(jù)有序存儲、主鍵索引、稀疏索引、數(shù)據(jù)分區(qū)分片、主備復制等功能。所謂數(shù)據(jù)的有序存儲指的是數(shù)據(jù)在建表時可以將數(shù)據(jù)按照某些列進行排序,排序之后,相同類型的數(shù)據(jù)在磁盤上有序的存儲,在進行范圍查詢時所獲取的數(shù)據(jù)都存儲在一個或若干個連續(xù)的空間內,極大的減少了磁盤IO時間;此外在計算層ClickHouse提供了多核并行、分布式計算、近似計算、復雜數(shù)據(jù)類型支持等技術能力,最大化程度利用CPU資源,提升系統(tǒng)查詢速度。Clickhouse的優(yōu)點就是快快快、分布式高可用,在數(shù)據(jù)分析這緯度看基本沒有缺點。
第四款引擎便是Kylin圖數(shù)據(jù)庫。它是Apache基金會開源的一款數(shù)據(jù)庫,也是結合當前人工智能知識圖譜的一個最佳數(shù)據(jù)庫。在Kylin中做數(shù)據(jù)分析的邏輯是用空間換時間,所有的數(shù)據(jù)都先預處理。在Kylin中通過Cube來做數(shù)據(jù)預聚合,比如我們想做雙十二某地區(qū)某品類的銷售額,因為有三個維度做分析,因此在Kylin中會建立一個三維的數(shù)據(jù)表(時間、地區(qū)、品類),在數(shù)據(jù)分析時可以拆分到三維、二維、一維,三維包含地區(qū)&品類&時間,二維包含地區(qū)品類、地區(qū)時間、品類時間,一維包含地區(qū)、品類、時間,每一維度的數(shù)據(jù)都提前聚合號存儲在HBase中了,因此當數(shù)據(jù)分析時,直接拿聚合好的數(shù)據(jù)處理展示。Kylin的優(yōu)點就是簡單、快速,缺點就是可選數(shù)據(jù)分析維度太多。
本文介紹了四款大數(shù)據(jù)分析OLAP引擎,它們所表現(xiàn)出來的業(yè)態(tài)有數(shù)據(jù)倉庫、分析引擎、數(shù)據(jù)庫,但這絲毫不影響它們作為數(shù)據(jù)分析的引擎提供服務?;ヂ?lián)網的下半場已經進入了精細化時代,遠的不多,就看最近最火的社區(qū)團購生意,如果沒有背后的數(shù)據(jù)引擎做技術支撐,各互聯(lián)網巨頭們如何準確判斷用戶畫像、商品售賣趨勢、整體營收變化趨勢呢?不過每一款數(shù)據(jù)分析引擎都有自己適合的業(yè)務場景,企業(yè)根據(jù)自己使用成本、維護成本、業(yè)務場景進行選擇就好~