跳到主要内容
跳到主要内容

Release 2.0.2

亲爱的社区小伙伴们,Apache Doris 2.0.2 版本已于 2023 年 10 月 6 日正式发布,该版本对多个功能进行了更新优化,旨在更好地满足用户的需求。有 92 位贡献者为 Apache Doris 2.0.2 版本提交了功能优化项以及问题修复,进一步提升了系统的稳定性和性能,欢迎大家下载体验。

GitHub 下载https://github.com/apache/doris/releases/tag/2.0.2-rc05

官网下载页https://doris.apache.org/download/

Behavior Changes

metadata_failure_recovery 从 fe.conf 移动到 start_fe.sh 参数,以避免异常操作。

对于普通类型中的 null 值使用 \n 来表示,对于复杂类型或嵌套类型的 null 值,跟 JSON 类型保持一致、采取 null 来表示。

优化 BE 节点 priority_network 配置项的绑定策略,如果用户配置了错误的 priority_network 则直接启动失败,以避免用户错误地认为配置是正确的。如果用户没有配置 priority_network,则仅从 IPv4 列表中选择第一个 IP,而不是从所有 IP 中选择,以避免用户的服务器不支持 IPv4。

支持取消正在重试的导入任务,修复取消加载失败的问题。

功能优化

易用性提升

某些场景下,用户需要向集群中添加一些自定义的库,如 lzo.jar、orai18n.jar 等。在过去的版本中,这些 lib 文件位于 fe/lib 或 be/lib 中,但在升级集群时,lib 库将被新的 lib 库替换,导致所有自定义的 lib 库都会丢失。

在新版本中,为 FE 和 BE 添加了新的自定义目录 custom_lib,用户可以在其中放置自定义 lib 文件。

支持基于用户角色的权限访问控制,实现了行级细粒度的权限控制策略。

改进查询优化器 Nereids 统计信息收集

在运行 Analysis 任务时禁用 File Cache,Analysis 任务是后台任务,不应影响用户本地 File Cache 数据。

在过去版本中,查看列的统计信息时将忽略出现错误的列。

在新版本中,当 min 或 max 值未能反序列化时,查看列的统计信息时将使用 N/A 作为 min 或 max 的值并仍显示其余的统计信息,包括 count、null_count、ndv 等。

支持 JDBC 外部表的统计信息收集。

跳过 __internal_schemainformation_schema 上未知列的统计信息检查。

Multi-Catalog 功能优化

支持 Hadoop viewfs;

优化 JDBC Catalog Checksum Replay 和 Range 相关问题;

优化了 JDBC Catalog 的 Property 检查和错误消息提示。

修复了 MaxCompute Catalog Decimal 类型解析问题以及使用对象存储地址错误的问题。

支持 Hive Metastore Catalog 的 SQL Cache。

提高了 Hive Metastore Catalog 的元数据同步性能。

添加 metadata_name_ids 以快速获取 Catalogs、DB、Table,在创建或删除 Catalog 和 Table 时无需 Refresh Catalog,并添加 Profiling 表从而与 MySQL 兼容。

倒排索引性能优化

增加 bkd 索引的查询缓存,通过缓存可以加速在命中 bkd 索引时的查询性能,在高并发场景中效果更为明显;

提升倒排索引在 Count 算子上的查询性能;

提升了 Match 算子在未命中索引时的效率,在测试表现中性能最高提升 60 倍;

提升了 MATCH 和 MATCH_ALL 在倒排索引上的查询性能;

Array 函数优化

优化了老版本查询优化器 Array 函数无法处理 Decimal 类型的问题;

优化了 array_union 数组函数对多个参数的支持;

支持通过 explode 函数来处理数组嵌套复杂类型;

Bug 修复

修复了之前版本存在的部分 Bug,使系统整体稳定性表现得到大幅提升,完整 BugFix 列表请参考 GitHub Commits 记录;

致谢

感谢所有在 2.0.2 版本中参与功能开发与优化以及问题修复的所有贡献者,他们分别是:

@adonis0147 @airborne12 @amorynan @AshinGau @BePPPower @BiteTheDDDDt @bobhan1 @ByteYue @caiconghui @CalvinKirs @cambyzju @ChengDaqi2023 @ChinaYiGuan @CodeCooker17 @csun5285 @dataroaring @deadlinefen @DongLiang-0 @Doris-Extras @dutyu @eldenmoon @englefly @freemandealer @Gabriel39 @gnehil @GoGoWen @gohalo @HappenLee @hello-stephen @HHoflittlefish777 @hubgeter @hust-hhb @ixzc @JackDrogon @jacktengg @jackwener @Jibing-Li @JNSimba @kaijchen @kaka11chen @Kikyou1997 @Lchangliang @LemonLiTree @liaoxin01 @LiBinfeng-01 @liugddx @luwei16 @mongo360 @morningman @morrySnow @mrhhsg @Mryange @mymeiyi @neuyilan @pingchunzhang @platoneko @qidaye @realize096 @RYH61 @shuke987 @sohardforaname @starocean999 @SWJTU-ZhangLei @TangSiyang2001 @Tech-Circle-48 @w41ter @wangbo @wsjz @wuwenchi @wyx123654 @xiaokang @XieJiann @xinyiZzz @XuJianxu @xutaoustc @xy720 @xyfsjq @xzj7019 @yiguolei @yujun777 @Yukang-Lian @Yulei-Yang @zclllyybb @zddr @zhangguoqiang666 @zhangstar333 @ZhangYu0123 @zhannngchen @zxealous @zy-kkk @zzzxl1993 @zzzzzzzs