ClickHouse 21.12的新特性

这篇文章是Larvel Sail在Lacs Advent Calendar 2021的第16天的文章。
昨天是@r_numoto小姐用Laravel Sail创建Docker环境的尝试。


ClickHouse是什么?

在我所属的组织中第一次接触ClickHouse,所以我来解释一下。
ClickHouse是一款为在线分析而开发的开源列式数据库管理系统。它由俄罗斯的类似Google公司Yandex开发,主要用于进行访问分析(实现相当于Google Analytics的Yandex.Metrica)。目前,ClickHouse已独立于Yandex发展,由ClickHouse公司进行开发。与其他产品相比,AWS的RedShift或Google的BigQuery是相似的产品。

请查看其他官方文档的概要。虽然有点过时,但我认为以下的资料对了解特点也很有帮助。

可以选择自己托管,也可以使用Altinity.cloud或Yandex.cloud的服务。

ClickHouse 21.12的中文释义是:点击仓库21.12。

昨天(2021/12/15),ClickHouse21.12的文档已经发布。日本时间2012/12/17 02:00将举行发布网络研讨会,之后预计将进行发布。

网络研讨会

发布文章

在圣诞节倒数日正是时机完美的时候!所以,在本文中,我想介绍一下从变更日志中发现的新功能。

对BOOL类型的支持

ClickHouse的一项特点是可以与其他产品(如MySQL、PostgreSQL、Kafka等)进行协作,这个功能的添加也是其中的一部分。现在可以在表中定义Bool类型的列,可以处理真(1、true、TRUE)和假(0、false、FALSE)值。

添加CNF优化器

为了解决由于过滤条件导致速度较慢的问题,似乎添加了CNF优化器。由于缺乏文件,无法确定如何使用,但似乎可以根据用途区分使用CNF和DNF。

使文件可以并行注册多个数据。

通过执行以下查询INSERT INTO t FROM INFILE hoge/*,您可以将hoge目录下的所有文件加载到t中。由于所有文件都将并行处理,所以可以期望得到相当快的速度。

增加自定义格式和修复各种格式的错误。

ClickHouse支持多种格式,如CSV、TSV、JSON和Parquet进行输入输出。本次更新修复了与这些格式相关的错误,并添加了支持创建自定义格式的功能。

向URL表函数中添加重试选项

ClickHouse提供了各种不同的表函数,其中之一是url。例如,使用SELECT * FROM url(https://hoge.com/sample.csv, CSV, ‘id Int32, value String’)可以访问sample.csv,并对文件执行SQL语句。

通过本次功能升级,现在可以在访问失败时进行重试。

最后

在这次更新中,修复了许多漏洞并改善了性能。2021年的路线图也基本完成,未来的几年中,开发工作将继续活跃进行。