clickhouse-物化视图

如题所述

第1个回答  2022-06-28

https://clickhouse.tech/docs/en/sql-reference/statements/create/view/#

物化视图可以理解为一个预聚合触发器,数据在控制好触发的汇聚条件,几乎是实时的
物化视图会存储一份计算好的聚合数据,是一种空间换时间的绝妙方法,对集群的稳定性和很重要。

物化视图的建立有两种方法
1,使用TO关键字( 推荐使用 ),可以控制TTL,不能使用POPULATE
例:

2,使用默认表
此方案建议是数据量小的表,因为无法控制TTL,后期数据运维不方便。默认存储表在clickhouse中是 .inner_id.uuid 值作为表名
例:

1,物化视图是一种空间换时间的预聚合方式,聚合后的数据将存储在新表中,一般于SummingMergeTree,AggregatingMergeTree等聚合引擎一起使用。

2,物化视图因为是写入触发器,所以as select只对每批次的insert data有效果,所以即使是where条件也是对这批写入数据起效果( https://clickhouse.tech/docs/en/sql-reference/statements/create/view/#materialized )

4,POPULATE关键字,不建议使用,会把原始表中的已存在数据全部物化一遍,老数据的同步,建议直接insert到mv中

5,多表join生成物化视图,左表插入数据时才更新

6,源表数据的改变不会影响物化视图,如update, delete, drop partition

相似回答