梳理下ClickHouse社区未来一年的主要工作。
ClickHouse-keeper
这项工作基本完成了,但是还需要进一步更新文档。
备份恢复
备份表,数据库,服务器和集群。
增量备份。支持部分恢复。
支持可插拔备份存储选项。
半结构化数据
可以自动类型推断和动态的子列的JSON数据类型。
稀疏列及稀疏列的优化。
列格式的动态选择:全部,常量,稀疏,低基数。
适用于大量列的wide/compact混合data part。
数据导入的类型推断
如果数据已经包含了schema(如Parquet, Avro),那么允许跳过列名和类型。
允许推断文本格式的类型(例如CSV,TSV,JSONEachRow)。
支持事务
原子的写入多个block或者多个分区数据到MergeTree和ReplicatedMergeTree表中。
原子的写入数据到表及相应的物化视图中。
原子的写入多个表。
从一个一致性快照中多重查询。
原子的写入到分布式表。
轻量级的更新和删除
通过使用删除标记使mutation更加轻量。
这个功能不会使ClickHouse像OLTP数据库一样支持高频的更新和删除,但是接近了。
SQL兼容性提升
解析名称解析和查询分析。
对相关子查询的初步支持。
允许在表达式中使用窗口函数。
为一些窗口函数添加兼容性别名,等等。
支持GROUPING SETS。
JOIN的性能提升
支持JOIN重排。
扩展当条件下推适用时的场景。
将反连接转换为NOT IN。
使用表排序进行DISTINCT优化。
对合并JOIN使用表排序实现。
实现Grace hash join算法。
资源管理
内存过度使用。
默认开启外部GROUP BY和ORDER BY。
有优先级的IO操作调度机制。
使标量子查询可靠。
实现CPU和网络优先级。
存储计算分离
副本并发的读取。
带有服务发现的动态集群配置。
实现从对象存储缓存数据的能力。
简化ReplicatedMergeTree。
共享的元数据存储。
批处理作业和可刷新物化视图
其他实验性及社区提及较多的特性
Streaming Queries
ML/AI 集成
GPU的支持
用户自定义数据类型
图计算
其他SLQ方言的支持
内嵌版ClickHouse
对比2021
简单对比下2021的Roadmap,来看下社区的关注重点及重大特性的进展情况:
(1)zk的替换是从去年延续到了今年,今年社区的ClickHouse-keeper会逐渐稳定并进入生产环境,解决ClickHouse对zk的强依赖。
(2)半结构数据的支持、事务的支持、备份恢复、存储计算分离、更新删除的支持、JOIN的提升都是去年任务的延续和扩展。去年的主线任务:HedgedRequests、Project、UDF、Window Function已经基本完成。
(3)外部系统的对接和集成以极快的速度推进,易用性也在稳步提升,ClickHouse从小而美逐渐向做大做强前进。
以上内容来自:https://github.com/ClickHouse/ClickHouse/issues/32513
网友评论