亲爱的社区小伙伴们,我们很高兴地宣布,Apache Doris 于 2023 年 2 月 15 日迎来 1.2.2 Release 版本的正式发布!在新版本中,Apache Doris 团队修复了自 1.2.1 版本发布以来超过 200 个问题或性能改进项。同时,1.2.2 版本作为 1.2 LTS 的迭代版本,具备更高的稳定性,建议用户升级到这个版本。
GitHub下载:https://github.com/apache/doris/releases/tag/1.2.2-rc01
官网下载页:https://doris.apache.org/zh-CN/download
New Feature
数据湖分析
自动分桶推算
支持通过 DISTRIBUTED BY HASH(……) BUCKETS AUTO 语句设置自动分桶,系统帮助用户设定以及伸缩不同分区的分桶数,使分桶数保持在一个相对合适的范围内。参考文档:https://mp.weixin.qq.com/s/DSyZGJtjQZUYUsvfK0IcCg
新增函数
增加归类分析函数 width_bucket 。参考文档:https://doris.apache.org/zh-CN/docs/dev/sql-manual/sql-functions/width-bucket/#description
Behavior Changes
默认情况下禁用 BE 的 Page Cache
关闭此配置以优化内存使用并降低内存 OOM 的风险,但有可能增加一些小查询的查询延迟。如果您对查询延迟敏感,或者具有高并发小查询场景,可以配置 disable_storage_page_cache=false 以再次启用 Page Cache。
增加新 Session 变量 group_by_and_having_use_alias_first
用于控制 group by 和 having 语句是否优先使用列的别名,而非从 From 语句里寻找列的名字,默认为false。
Improvement
Compaction 优化
支持 Vetical Compaction。在过去版本中,宽列场景 Compaction 往往会带来大量的内存开销。在 1.2.2 版本中,Vertical Compaction 采用了按列组的方式进行数据合并,单次合并只需要加载部分列的数据,能够极大减少合并过程中的内存占用。在实际测试中,Vertical compaction 使用内存仅为原有 compaction 算法的 1/10,同时 Compaction 速率提升15%。
支持 Segment Compaction。在过去版本中,当用户大数据量高频导入时可能会遇到 -238 以及 -235 问题,Segment Compaction 允许在导入数据的同时进行数据的合并,以有效控制 Segment 文件的数量,提升高频导入的系统稳定性。
参考文档:https://doris.apache.org/docs/dev/advanced/best-practice/compaction
数据湖分析
优化 Iceberg V2 表有大量删除行诗时的读取性能。
支持读取 Schema Evolution 后 Iceberg 表。
Parquet Reader 正确处理列名大小写。
其他
BugFix
修复了使用 Doris-Flink-Connectore 导入数据时的内存泄漏问题;#16430
修复了 BE 可能的线程调度问题,并减少了 BE 线程耗尽导致的 Fragment_sent_timeout。
修复了 datetimev2/decivalv3 的部分正确性和精度问题。
修复了 Light Schema Change 功能的各种已知问题。
修复了 bitmap 类型 Runtime Filter 的各种数据正确性问题。
修复了 1.2.1 版本中引入的 CSV 读取性能差的问题。
修复了 Spark Load 数据下载阶段导致的 BE OOM 问题。
修复了从 1.1.x 版升级到 1.2.x 版时可能出现的元数据兼容性问题。
修复了创建 JDBC Catalog 时的元数据问题。
修复了由于导入操作导致的 CPU 使用率高的问题。
修复了大量失败 Broker Load 作业导致的 FE OOM 问题。
修复了加载浮点类型时精度丢失的问题。
修复了 Stream Load 使用两阶段提交时出现的内存泄漏问题。
其他
添加指标以查看 BE 上的 Rowset 和 Segment 总数量 doris_be_all_rowset_nums 和 doris_be_all_segment_nums