Clickhouse實時數倉建設

2022-05-30 06:02:14

1.概述

Clickhouse是一個開源的列式儲存資料庫,其主要場景用於線上分析處理查詢(OLAP),能夠使用SQL查詢實時生成分析資料包告。今天,筆者就為大家介紹如何使用Clickhouse來構建實時數倉,來滿足一些實時性要求較高的使用場景。

2.內容

2.1 什麼是OLAP場景

在介紹Clickhouse構建實時數倉之前,我們先來了解一下OLAP的使用場景,通常OLAP的使用場景包含如下特徵:

  • 絕大多數是讀取請求;
  • 資料以相當大的Batch進行更新;
  • 已儲存的資料不能隨意修改;
  • 對於讀取,從資料儲存中提取相當多的行,但是隻提取列的一小部分;
  • 大寬表,即每個表包含著大量的列;
  • 查詢相對較少(QPS很小);
  • 對於簡單查詢,允許有較低的延遲,比如50ms~100ms;
  • 列中的資料相對較小,比如字串長度很短;
  • 處理單個查詢時需要高吞吐量;
  • 事務非必須;
  • 對資料一致性要求低;
  • 每一個查詢有一個大表,除了它其他都是很小的;
  • 查詢結果明顯小於源資料。

通過觀察這些特徵,我們可以看出,對於OLAP場景與其他業務場景(比如OLTP、KV等)有所不同,因此想要使用OLTP或者KV來高效的處理資料分析查詢場景,並不是非常完美的解決方案。

2.2 Clickhouse更適合OLAP的原因

Clickhouse更適合OLAP場景,對於大多數查詢而言,處理速度至少提高了100倍,下面我們可以通過圖片來詳細瞭解其中的原因:

2.2.1 行式

 

 3. 實時特徵計算

雖然實時特徵計算不是Clickhouse的強項,但是通過相關優化,還是可以實現。

4.總結

Clickhouse OLAP的生態相對於Hadoop生態,效能提升是比較明顯的,通過流批一體提供更加穩定可靠的服務,使得業務決策更加迅速,實驗結論更加準確。

5.結束語

這篇部落格就和大家分享到這裡,如果大家在研究學習的過程當中有什麼問題,可以加群進行討論或傳送郵件給我,我會盡我所能為您解答,與君共勉!

另外,博主出書了《Hadoop巨量資料挖掘從入門到進階實戰》,喜歡的朋友或同學, 可以在公告欄那裡點選購買連結購買博主的書進行學習,在此感謝大家的支援。