原文

v22.4

事务

事务作为实验特性已经可用。BEGIN TRANSACTION, COMMIT, ROLLBACK语句支持原子地插入多张表或物化视图,以及从某个快照进行满足一致性和隔离性的读取。更多精彩敬请期待!

Keeper负载均衡

新的config.xml配置中,<zookeeper_load_balancing>可选择random(default), in_order, nearest_hostname, first_or_random, round_robin等负载均衡方式。当你有分布在不同地域的keeper实例时,该特性可减少CH和keeper之间的延迟

MergeTree表启动加速

使用use_metadata_cache可配置元数据缓存于内嵌的RocksDB存储引擎中。当CH启动时,它会尽量从缓存中获取元数据,否则退化到从磁盘文件获取。当你的CH实例中包含很多MergeTree parts时(一般由库、表或分区过多,或频繁insert导致),该特性将非常有用。在极端情况下(700k个parts), 它能使CH启动时间从75分钟缩短到20秒

更多的kafka指标

现在Kafka表引擎暴露了更多的服务指标,例如:已处理的消息条数,错误数,无法解析的消息条数。你可以从系统表system.metrics和system.events中查到这些指标的值

Gap filling

现在可以通过插值来填补查询结果中的gap。例如:当表中包含了以分钟为粒度的数据,但有时候某些分钟的数据是确实的,你可以在查询时加上ORDER BY toStartOfMinute(timestamp) WITH FILL INTERPOLATE (c AS c)使得缺失点的值与之前的相邻点保持一致。根据需要表达式还可以更复杂。

一个月的最后一天

之前CH日期函数只能取整到指定时间段的开始。但是现在你可用toLastDayOfMonth来取整到一个月的最后一天(在金融和会计领域有用)

H3

我们完善了对H3的支持,H3是Uber最初开发并开源的六边形分层地理空间索引系统。如果你还不了解它,查看网站(https://h3geo.org/)以及H3与S2 和 Geohash等其他系统间的差异。

v22.5

Memory Overcommit

在22.2中,我们提出了这个实验特性。它包含一个硬限制和软限制,允许查询在可能的情况下超过软限制,这使得不同类型的查询能够更容易地在CH上执行。在22.5中,memory overcommit默认开启,老的配置max_memory_usage已经从默认配置中移除。

并行Hash Join

这种新的Join实现将Join切分成多个block然后并行执行。这对大数据量的Join尤其有用,高并行度下可减少80%的执行时长。你可通过设置join_algorithm = ‘parallel_hash’ 来尝试该特性

Grouping Sets

GROUP BY增加了新的修饰符GROUPING SETS。 它允许基于任何列的组合执行聚合。顺便问一下,你是否了解修饰符WITH TOTALS、WITH ROLLUP 和 WITH CUBE?

FIPS

我们切换到更新的 BoringSSL 模块,ClickHouse 现在符合 FIPS 标准!