查看原文
其他

Apache Doris 2.1.3 版本正式发布!

Apache Doris SelectDB
2024-09-11

亲爱的社区小伙伴们,Apache Doris 2.1.3 版本已于 2024 年 5 月 20 日正式发布。该版本在功能特性上对数据湖、物化视图、负载管理等方面进行了多项更新,进一步简化湖仓一体架构、加速了查询性能;同时提交了若干改进项以及问题修复,进一步提升了系统的性能及稳定性,欢迎大家下载体验。

官网下载页:

https://doris.apache.org/download/GitHub 下载:https://github.com/apache/doris/releases

功能特性


1. 支持通过 Hive Catalog 向 Hive 表中回写数据:
    • 从 2.1.3 版本开始,Apache Doris 支持对 Hive 的 DDL 和 DML 操作。用户可以直接通过 Apache Doris 在 Hive 中创建库表,通过执行INSERT INTO语句来向 Hive 表中写入数据。通过该功能,用户可以通过 Apache Doris 对 Hive 进行完整的数据查询和写入操作,进一步帮助用户简化湖仓一体架构。参考文档:https://doris.apache.org/docs/lakehouse/datalake-building/hive-build/
2. 支持在异步物化视图之上构建新的异步物化视图:
    • 用户可以在异步物化视图之上来创建新的异步物化视图,直接复用计算好的中间结果进行数据加工处理,简化复杂的聚合和计算操作带来的资源消耗和维护成本,进一步加速查询性能、提升数据可用性。

3. 支持通过物化视图嵌套物化视图进行重写:

    • 物化视图(Materialized View, MV)是用于存储查询结果的数据库对象。现在,Apache Doris 支持通过 MV 嵌套物化视图进行重写,这有助于优化查询性能。

4. 新增 SHOW VIEWS 语句:

    • 可以使用SHOW VIEWS语句来查询数据库中的视图,有助于更好地管理和理解数据库中的视图对象。

5. Workload Group 支持绑定到特定的 BE 节点:

    • Workload Group 可以绑定到特定的 BE 节点,实现查询执行的更精细化控制,以优化资源使用和提高性能。

6. Broker Load 支持压缩的 JSON 格式:

    • Broker Load 支持导入压缩的 JSON 格式数据,可以显著减少数据传输的带宽需求、加速数据导入性能。

7. TRUNCATE 函数可以使用列作为scale参数:

    • TRUNCATE 函数现在可以接受列作为scale参数,这使得在处理数值数据时可以更加灵活。

8. 添加新的函数uuid_to_intint_to_uuid

    • 这两个函数允许用户在 UUID 和整数之间进行转换,对于需要处理 UUID 数据的场景有明显帮助。

9. 添加bypass_workload_groupSession Variable 以绕过查询队列:

    • 会话变量bypass_workload_group允许某些查询绕过 Workload Group 队列直接执行,这可以用于处理需要快速响应的关键查询。

10. 添加strcmp函数:

    • strcmp函数用于比较两个字符串并返回它们的比较结果,帮助文本数据的处理更加简易。

11. 支持 HLL 函数hll_from_base64hll_to_base64

    • HLL(HyperLogLog)是一种用于基数估计的算法,以上两个函数允许用户将 HLL 数据从 Base64 编码的字符串中解码,或将 HLL 数据编码为 Base64 字符串,这对于存储和传输 HLL 数据非常有用。

优化改进


1. 替换 SipHash 为 XXHash 以改善 Shuffle 性能:

    • SipHash 和 XXHash 都是哈希函数,但 XXHash 在某些场景下可能提供更快的哈希速度和更好的性能,此优化旨在通过采用 XXHash 来提高数据 Shuffle 过程中的性能。

2. 异步物化视图支持 OLAP 表分区列可以为 NULL:

    • 允许异步物化视图支持 OLAP 表的分区列可以为 NULL,从而增强了数据处理的灵活性。

3. 收集列统计信息时限制最大字符串长度为 1024 以控制 BE 内存使用:

    • 在收集列统计信息时,限制字符串的长度可以防止过大的数据消耗过多的 BE 内存,有助于保持系统的稳定性和性能。

4. 支持动态删除 Bitmap Cache 以提高性能:

    • 通过支持动态删除不再需要的 Bitmap Cache,可以释放内存并改善系统性能。

5. 在 ALTER 操作中减少内存使用:

    • 减少 ALTER 操作中的内存使用,以提高系统资源的利用效率。

6. 支持复杂类型的常量折叠:

    • 支持 Array/Map/Struct 复杂类型的常量折叠。

7. 在 Aggregate Key 聚合模型中增加对 Variant 类型的支持:

    • Variant 数据类型能够存储多种数据类型,在此优化中允许对 Variant 类型的数据进行聚合操作,从而增强了半结构化数据分析的灵活性。

8. 在 CCR 中支持新的倒排索引格式。

9. 优化嵌套物化视图的重写性能。

10. 支持 decimal256 类型的行存格式:

    • 在行存格式中支持 decimal 256 类型,以以扩展系统对高精度数值数据的处理能力。

行为变更


1. 授权(Authorization)
    • Grant_priv权限更改:Grant_priv不能再被任意授予。执行Grant操作时,用户不仅需要具有Grant_priv,还需要具有要授予的权限。例如,如果想要授予对table1SELECT 权限,那么该用户不仅需要具有 GRANT 权限,还需要具有对table1SELECT 权限,这增加了权限管理的安全性和一致性。 
    • Workload Group 和 Resource 的Usage_privUsage_priv对 Workload Group 和 Resource 的权限不再是全局级别的,而是仅限于 Resource 和 Workload Group 内,权限的授予和使用将更加具体。
    • 操作的授权:之前未被授权的操作现在都有了相应的授权,以实现更加细致和全面地操作权限控制。
2. LOG 目录配置:
    • FE 和 BE 的日志目录配置现在统一使用LOG_DIR环境变量,所有其他不同类型的日志都将以LOG_DIR作为根目录进行存储。同时为了保持版本间的兼容性,以前的配置项sys_log_dir仍然可以使用。
3. S3 表函数(TVF):
    • 由于之前的解析方式在某些情况下可能无法正确识别或处理 S3 的 URL,因此将对象存储路径的解析逻辑进行重构。对于 S3 表函数中的文件路径,需要传递force_parsing_by_standard_uri参数来确保被正确解析。

升级问题


由于许多用户将某些关键字用作列名或属性值,因此将如下关键字设置为非保留关键字,允许用户将其用作标识符使用:https://github.com/apache/doris/pull/34613

问题修复


1. 修复在腾讯云 COSN 上读取 Hive 表时的无数据错误:
    • 解决了在腾讯云 COSN 存储上读取 Hive 表时可能遇到的无数据错误,增强了与腾讯云存储服务的兼容性。
2. 修复milliseconds_diff函数返回错误结果:
    • 修复milliseconds_diff函数在某些情况下返回错误结果的问题,确保了时间差计算的准确性。

3. 用户定义变量应转发到 Master 节点:

    • 确保用户定义的变量能够正确地传递到 Master 节点,以便在整个系统中保持一致性和正确的执行逻辑。

4. 修复添加复杂类型列时遇到的 Schema Change 问题:

    • 在添加复杂类型列时,可能会遇到 Schema Change 问题,此修复确保了 Schema Change 的正确性。

5. 修复 FE master 节点更改时 Routine Load 的数据丢失问题:

    • Routine Load 常用于订阅 Kafka 消息队列中的数据,此修复解决了在 FE Master 节点更改时可能导致的数据丢失问题。

6. 修复当找不到 Workload Group 时 Routine Load 失败的问题:

    • 修复了当 Routine Load 找不到指定 Workload Group 时导致的失败问题。

7. 支持 column string64 ,以避免在 string size 溢出 unit32 时 Join 失败的问题:

    • 在某些情况下,字符串的大小可能会超过 unit32 的限制,支持 string64类型可以确保字符串 JOIN 操作的正确执行。

8. 允许 Hadoop 用户创建 Paimon Catalog

    • 允许具有权限的对应 Hadoop 用户来创建 Paimon Catalog。

9. 修复function_ipxx_cidr函数与常量参数的问题:

    • 修复了function_ipxx_cidr函数在处理常量参数时可能出现的问题,保证函数执行的正确性。

10. 修复使用 HDFS 进行还原时的文件下载错误:

    • 解决了在使用 HDFS 进行数据还原时遇到的“failed to download”错误,确保了数据恢复的正确性和可靠性。

11. 修复隐藏列相关的列权限问题:

    • 在某些情况下,隐藏列的权限设置可能不正确,此修复确保了列权限设置的正确性和安全性。

12. 修复在 K8s 部署中 Arrow Flight 无法获取正确 IP 的问题:

    • 此修复解决了在 Kubernetes 部署环境中 Arrow Flight 无法正确获取 IP 地址的问题。

- END-

更多行业实践

智慧金融与政企杭银消金河北幸福消费金融金融壹账通平安人寿奇富科技同程数科无锡锡商银行星云零售信贷银联商务招商信诺人寿360数科 |360企业安全浏览器


互联网与文娱斗鱼叮咚买菜工商信息查询平台货拉拉荔枝微课票务平台奇安信腾讯音乐天眼查网易网易互娱网易严选小米小鹅通约苗字节跳动知乎360商业化


企业服务与新经济橙联度言观测云慧策领健领创名创优品Moka BI美联物业拈花云科上海家化思必驰物易云通云积互动有赞纵腾集团


先进智造与电信爱玛长安汽车Lifewit蜀海供应链中国联通

作为基于 Apache Doris 的商业化公司,飞轮科技秉承着 “开源技术创新”和“实时数仓服务”双轮驱动的战略,在投入资源大力参与 Apache Doris 社区研发和推广的同时,基于 Apache Doris 内核打造了聚焦于企业大数据实时分析需求的企业级产品 SelectDB ,面向新一代需求打造世界领先的实时分析能力。自成立一年来,获得 IDG 资本、红杉中国、襄禾资本等顶级 VC 的近 10 亿元融资,创下了近年来开源基础软件领域的新纪录。


▼   点击阅读原文,体验 Doris 最新版本!

继续滑动看下一个
SelectDB
向上滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存