首页 > 解决方案 > Clickhouse Kafka Engine:物化视图的好处

问题描述

在文档中,它展示了一种使用从 KafkaEngine 消费的物化视图将数据发送到 *MergeTree 族表的方法。

这样做的好处是,在更改转换逻辑的情况下,分离表,进行更改并重新附加。

但是,如果您没有对其应用逻辑(例如字段类型转换),那么使用物化视图作为目的地是否更有意义,应用 *MergeTree 引擎?即移除TO table部件并向物化视图发送查询。

不过,我在任何地方都看不到这种方法。我可以看到灵活性的损失,但是,这种方法是否有意义?这种方法的局限性是什么?

标签: apache-kafkaclickhouse

解决方案


我会说它基本上是一样的。

唯一的区别是,如果没有TO <table>子句,ClickHouse 会创建表.inner.<mv name>并将数据存储在那里,而不是存储在<table>. 否则行为是相同的AFAIK。

综上所述,我认为最好使用TO <table>子句,因为您可以更好地控制创建的表。ClickHouse 中的 MV 也不是视图也不是表,而是触发器。所以我更喜欢这样对待它们,而不是期望它们被用来从中读取数据。


推荐阅读