Hbase、Kudu和ClickHouse對比


最近看了些大拿的相關文章,做筆記如下:   

     Hadoop生態圈中HDFS一直用來保存底層數據。Hbase作為一款Nosql也是Hadoop生態圈的核心組件,它海量的存儲能力,優秀的隨機讀寫能力,能夠處理一些HDFS不足的地方。
     Clickhouse是一個用於聯機分析(OLAP)的列式數據庫管理系統(DBMS)。能夠使用SQL查詢實時生成分析數據報告。它同樣擁有優秀的數據存儲能力。
     Apache Kudu是Cloudera Manager公司16年發布的新型分布式存儲系統,結合CDH和Impala使用可以同時解決隨機讀寫和sql化數據分析的問題。分別彌補HDFS靜態存儲和Hbase Nosql的不足。

     接着說一下Hbase與Kudu,可以說是Kudu師承Hbase,架構是類似的master-slave結構。

     Hbase的物理模型是master和regionserver,regionserver存儲的是region,region里邊很有很多store,一個store對應一個列簇,一個store中有一個memstore和多個storefile,store的底層是hfile,hfile是hadoop的二進制文件,其中HFile和HLog是Hbase兩大文件存儲格式,HFile用於存儲數據,HLog保證可以寫入到HFile中;
     Kudu的物理模型是master和tserver,其中table根據hash和range分區,分為多個tablet存儲到tserver中,tablet分為leader和follower,leader負責寫請求,follower負責讀請求,總結來說,一個ts可以服務多個tablet,一個tablet可以被多個ts服務(基於tablet的分區,最低為2個分區)
     Clickhouse的特點在於它較快的查詢性能,雖然也能存儲數據,但並不是他的強項,而且Clickhouse還不能update/delete數據。

表格中列出幾個維度的對比:

  Hbase Kudu Clickhouse
數據存儲 Zookeeper保存元數據,數據寫入HDFS(非結構化數據) master保存元數據,數據及副本存儲在tserver(強類型數據) Zookeeper保存元數據,數據存儲在本地,且會壓縮
查詢 查詢比較麻煩,Phoenix集成之后比較好點 查詢比較麻煩,集成Impala之后表現優秀 高效的查詢能力
數據讀寫 支持隨機讀寫,刪除。更新操作是插入一條新timestamp的數據 支持讀寫,刪除,更新 支持讀寫,但不能刪除和更新
維護 需要同時維護HDFS、Zookeeper和Hbase(甚至於Phoenix) CDH版本維護簡單,Apache版需要單獨維護,額外還有Impala 額外維護Zookeeper


   應用場景:

    Hbase更適合非結構化的數據存儲,對大數據進行實時讀寫及更新的場景,Kudu+Impala也可以很好的勝任,當然再結合CDH就更好了,瓶頸並不在Kudu,而在Impala的Apache部署,比較復雜。

    ClickHouse 適合低並發,靈活即席查詢場景,也支持例如:報表分析,留存分析,用戶標簽畫像分析,用戶行為漏斗分析,歸因分析等

備注:

    1、CDH是Cloudera的100%開源平台發行版,包括Apache Hadoop,專為滿足企業需求而構建。CDH提供開箱即用的企業使用所需的一切。通過將Hadoop與十幾個其他關鍵的開源項目集成,Cloudera創建了一個功能先進的系統,可幫助您執行端到端的大數據工作流程。CDH 是一個擁有集群自動化安裝、中心化管理、集群監控、報警功能的一個工具(軟件),使得集群的安裝可以從幾天的時間縮短為幾個小時,運維人數也會從數十人降低到幾個人,極大的提高了集群管理的效率。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM