大數據平臺又一力作-clickhouse

clickhouse 這個名字或許大家都沒聽過,甚至都不會和數據庫扯上關係。

我搜了很多官方文檔,也沒有看到這個名字的由來,只知道是俄羅斯的做搜索引擎公司yandex開發的列式存儲的分佈式數據庫,根據官方文檔結合我的經驗,猜測clickhouse想表達的意思是我的這個數據庫是變態快(Blazing Fast) [一點擊就一個房子那麼大]。

我之前用過greenplum,所以我說一說兩個產品的特點,greenplum屬於老牌產品,他幾乎和hadoop同一時期產生,目前也是比較穩定的大數據分析平臺數據庫。但是由於greenplum是基於postgresql做的底層,然後在做的分佈式。

所以有幾個不太好的特點:

1.架構比較複雜

2.master只有一個而且不能做高可用,只能做standby;

3.權限系統比較複雜(這個或許有些人覺得還好,但是比起mysql來講還是有點複雜)。

針對clickhouse的優缺點我也先講講,先說優點吧:

1.架構超級簡單,學習不用一杯咖啡時間。可以說是很多個單機版本的數據庫組成,僅僅通過一個xml將他們變成集群,增加,刪除一個節點也是操作下這個xml,而且不用重啟,火線加入與拉出節點。

2.權限結構也是超級簡單,也就一個xml就能搞定。

3.全部節點都是可以作為master,全部可以提供服務,集群中訪問全部使用分佈式虛擬表。所以如果有資源前端可以架設負載均衡,同時他還支持http協議。

4.這個有點比較特別,就是隻要定義好數據分區,不需要像mysql,greenplum一樣預先創建分區。

下面來說說缺點:

1.整個數據庫只支持insert,和select功能,這對經常要update和delete操作的業務來講,這個數據庫就建議不要用了,他沒這能力。

2.執行計劃目前還在開發中,不知道什麼時候能好,目前要排查性能,只能看日誌中打印的執行計劃。

3.不支持添加索引,所以在建表的時候需要特別注意。

4.所有數據插入和查詢都是不帶事務的,也就是說如果做數據副本,是不保證數據的一致性的,所以那些如果對數據特別精確,不允許數據中途插入極少錯誤的那種,建議就不要考慮了,即便要做可靠性,也是蠻困難的。

總體上講,如果用於大數據分析,同時容忍極少數據不準確的,是非常時候的,如日誌分析,行為數據分析等。我覺得他就是一臺極其高效的手動擋肌肉車。

這個我在頭條的創作,在手機上寫的,排版不是很好

後續我也會陸奉上相關資訊:

1.clickhouse的安裝;

2.clickhouse的集群搭建極其幾種方式的特點;

3.官方推薦mergetree引擎的使用

4.分區表創建與自動維護分區腳本

5.....未完待續。

clickhouse官網: https://clickhouse.yandex/

官方做的各數據庫性能比較:

https://clickhouse.yandex/benchmark.html


分享到:


相關文章: