数据存储
表由按主键排序的数据 片段 组成。当数据被插入到表中时,会分成数据片段并按主键的字典序排序。例如,主键是 (CounterID, Date) 时,片段中数据按 CounterID 排序,具有相同 CounterID 的部分按 Date 排序。
不同分区的数据会被分成不同的片段,ClickHouse 在后台合并数据片段以便更高效存储。不会合并来自不同分区的数据片段。这个合并机制并不保证相同主键的所有行都会合并到同一个数据片段中。
ClickHouse 会为每个数据片段创建一个索引文件,索引文件包含每个索引行(『标记』)的主键值。索引行号定义为 n * index_granularity 。最大的 n 等于总行数除以 index_granularity 的值的整数部分。对于每列,跟主键相同的索引行处也会写入『标记』。这些『标记』让你可以直接找到数据所在的列。
按列存储
在MergeTree中数据按列存储,具体到每个列字段,都拥有一个.bin数据文件,是最终存储数据的文件。 按列存储的好处: 1、更好的压缩 2、最小化数据扫描范围
MergTree的TTL
TTL:time to live 数据存活时间。TTL既可以设置在表上,也可以设置在列上。TTL指定的时间到期后则删除相应的表或列,如果同时设置了TTL,则根据先过期时间删除相应数据。
TTL 表达式的计算结果必须是 日期 或 日期时间 类型的字段。
TTL time_column
TTL time_column + interval
要定义
interval, 需要使用 时间间隔 操作符。SECOND MINUTE HOUR DAY WEEK MONTH QUARTER YEAR
TTL date_time + INTERVAL 1 MONTH
TTL date_time + INTERVAL 15 HOUR
原文链接:https://blog.csdn.net/zh17673640696/article/details/125163003
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




