當前位置:編程學習大全網 - 行動軟體 - ClickHouse Projection的使用小結

ClickHouse Projection的使用小結

物化視圖 和 Projection技術其實都是預聚合的思路。ClickHouse release v22.2版本已經默認將Projection功能開啟(allow_experimental_projection_optimization?)。 2022-03-17日ClickHouse release v22.3-lts已經發布。大家可以基於此版本來使用Projection功能。

較物化視圖最大的優點:Projection可以保證數據壹致性。物化視圖可以理解為觸發的機制,寫入base表的時候,壹起寫入物化視圖,兩個過程無法保證壹致性。從業務功能方面兩者解決的問題的場景是壹樣的。都是通過預聚合方式,提前將數據聚合好。相比而言,物化視圖靈活性會更優,壹般來說都是通過物化視圖將源表數據抽取到新表中,這樣我們可以在新表上按照業務場景靈活的進行分區、索引操作。這些在Projection上是做不到的。尤其對於聚合前後數據量相當的場景,如果對壹致性要求不高的場景,使用物化視圖會是更好的選擇。

大家可以參考如下文檔:

/percona2021/projections.pdf

寫的還是非常詳細的。

Projection新建好後,執行正常的業務SQL,怎麽判斷是否命中了,聯調的時候可以將參數:force_optimize_projection配置為1,查詢的時候如果沒有命中Projection,會拋出錯誤信息的。生產環境可以別這麽做,此參數默認值是0。

1)聚合查詢(聚合後數據較聚合前數據量少很多)

壹致性要求高場景,使用Projection。對壹致性要求低,或者想對聚合後的表做更靈活的配置,請選用物化視圖。

2)明細查詢或者聚合後數據較聚合前數據量相當

建議使用二級索引(跳數索引)來進行查詢優化。

  • 上一篇:xenon和cherry結局
  • 下一篇:圓明園中的西洋景觀有哪些
  • copyright 2024編程學習大全網