Database schema 是否有一个Clickhouse功能可以简化此聚合模式(一周内的每条记录;一年内总共5分钟)

Database schema 是否有一个Clickhouse功能可以简化此聚合模式(一周内的每条记录;一年内总共5分钟),database-schema,clickhouse,materialized-views,Database Schema,Clickhouse,Materialized Views,我有一个报告Clickhouse数据库,它存储了大量的DNS流量日志(大到只能存储2天的原始查询日志)。主表存储单个DNS查询的记录,然后将具体化的视图聚合成有用的块,用于绘图/报告(例如按查询类型按区域划分的ip协议) 即使存储这些聚合也是非常大的(我们可以保存大约1周的数据)。 因此,对于长期(年度)报告,我还使用SummingMergeTree和toStartOfFiveMinute()的具体化视图,将其汇总为每5分钟的总计 即 [原始数据]->[材料视图汇总合并树(计数),TTL 7天]

我有一个报告Clickhouse数据库,它存储了大量的DNS流量日志(大到只能存储2天的原始查询日志)。主表存储单个DNS查询的记录,然后将具体化的视图聚合成有用的块,用于绘图/报告(例如按查询类型按区域划分的ip协议)

即使存储这些聚合也是非常大的(我们可以保存大约1周的数据)。 因此,对于长期(年度)报告,我还使用SummingMergeTree和toStartOfFiveMinute()的具体化视图,将其汇总为每5分钟的总计

即 [原始数据]->[材料视图汇总合并树(计数),TTL 7天]

[原始数据]->[材料视图汇总合并树(5分钟,计数),TTL 1年]

这是可行的,但这意味着我们的图形必须访问两个不同的视图(有很多视图和很多图形)。只是感觉有点笨重

Clickhouse非常擅长报告,我想知道是否有某种聚合方法或存储引擎可以让我将其存储在一个地方。如果时间戳小于7天,则可以在“toSecond(..)和toStartOfFiveMinute(..)”之间合并的内容

是否有一些我不知道的内置功能或结构


谢谢。

您可以在下面的小组中找到有用的TTL 它允许减少单个表中的数据

另一个选项是GrapiteMergeTree