博客 / 工程

ClickHouse v21.11 发布

author avatar
Rich Raposa
2021年11月11日 - 分钟阅读

我们在 ClickHouse, Inc. 继续我们的每月发布节奏和博客更新。21.11 版本包括异步插入、交互模式、UDF、预定义连接和压缩增益。感谢 142 位提交者和 4337 次提交使本次发布成为可能。

让我们重点介绍 21.11 版本中一些令人兴奋的新功能

异步插入

新的异步 INSERT 模式允许累积插入的数据并将其存储在单个批次中,从而减少磁盘资源 (IOPS) 的使用,并支持高 INSERT 查询率。在客户端,可以通过为 INSERT 查询设置 async_insert 来启用它,数据内联在查询中或在单独的缓冲区中(例如,对于通过 HTTP 协议的 INSERT 查询)。如果 wait_for_async_insert 为 true(默认情况下),则客户端将等待直到数据刷新到表中。在服务器端,可以通过设置 async_insert_threadsasync_insert_max_data_sizeasync_insert_busy_timeout_ms 进行调整。

这对我们的 ClickHouse 用户有何帮助?

用户的一个显著痛点是必须以大批量插入数据,并且性能有时会受到影响。如果您有一个监控用例,并且想要每秒向 ClickHouse 插入 100 万条记录,该怎么办?您会执行 10 万条记录的大批量插入,但如果您有 1,000 个客户端在传输数据,那么收集这些批次以插入 ClickHouse 就很困难。从历史上看,为了解决这个问题,您可能必须使用 Kafka 或缓冲区表来帮助平衡和插入数据。

现在,我们引入了这种新的异步插入模式,您可以在其中并发地执行高频率的小型插入,ClickHouse 将自动将它们分组到批次中并自动插入到表中。每个客户端都将收到数据已成功插入的确认。

本地交互模式

我们为 clickhouse-local 添加了交互模式,以便您只需运行 clickhouse-local 即可获得命令行 ClickHouse 界面,而无需连接到服务器并处理来自文件和外部数据源的数据。

这对我们的 ClickHouse 用户有何帮助?

如果您有一个临时用例,想要使用 ClickHouse 在本地文件上运行分析怎么办?从历史上看,您必须启动一个空的 ClickHouse 服务器,并将其连接到您感兴趣的外部数据源上运行查询,例如 S3、HDFS、URL。现在,使用 ClickHouse Local,您可以像运行 ClickHouse 客户端一样运行它,并获得相同的完整交互体验,而无需任何围绕设置和数据摄取的额外开销步骤来尝试您的想法或假设。希望您喜欢!

可执行 UDF

增加了对可执行(脚本化)用户定义函数的支持。这些 UDF 可以用任何编程语言编写。

这对我们的 ClickHouse 用户有何帮助?

我们在 21.10 版本中添加了 UDF。与我们的 10 月份版本类似,我们继续围绕使将工具插入 ClickHouse 作为函数更用户友好的想法进行创新。这可能是您在 Python 脚本中进行 ML 推理,现在您可以将其定义为 SQL 中可用的函数。或者,如果您想进行 DNS 查找怎么办?您的 ClickHouse 表中有一个域名,并希望使用某个函数将其转换为 IP 地址。现在只需插入一个外部脚本,它将处理并将域名转换为 IP 地址。

预定义连接

允许预定义到外部数据源的连接。这允许在使用外部数据源时避免指定凭据或地址,而是可以通过名称引用它们。

这对我们的 ClickHouse 用户有何帮助?

您只是尝试将 ClickHouse 连接到另一个数据源以加载数据,例如 MySQL,您该怎么做?在此功能之前,您必须处理 MySQL 的所有凭据,使用 MySQL 表函数,了解用户和密码权限才能访问某些表等等。现在您在 ClickHouse 配置中预定义了必需的参数,用户只需通过名称引用它,例如 MongoDB、HDFS、S3、MySQL,并且这是一次性配置。

压缩

增加对 INTO OUTFILE 和 FROM INFILE 的压缩和解压缩的支持(带有自动检测或附加的可选参数)。

这对我们的 ClickHouse 用户有何帮助?

如果您有压缩数据,您是否只是希望更轻松地将数据导入和导出到 ClickHouse 中?在此功能之前,您必须手动指定输入和输出数据到 ClickHouse 的压缩,即使对于流式插入,您仍然必须在那里管理解压缩。现在,您只需将其写为文件,例如 mytable.csv.gz --- 然后,开始!

在上个月,我们添加了新的免费培训模块,包括 21.11 新功能。点击此处学习课程。

ClickHouse 发行说明

版本 21.11

发布日期:2021-11-09

发行说明:21.11

分享这篇文章

订阅我们的新闻邮件

随时了解功能发布、产品路线图、支持和云产品!
正在加载表单...
关注我们
X imageSlack imageGitHub image
Telegram imageMeetup imageRss image