阿里云数据库 SelectDB 版内核 Apache Doris 2.1.4 版本正式发布

本文涉及的产品
阿里云百炼推荐规格 ADB PostgreSQL,4核16GB 100GB 1个月
云原生数据仓库AnalyticDB MySQL版,8核32GB 100GB 1个月
简介: 亲爱的社区小伙伴们,Apache Doris 2.1.4 版本已于 2024 年 6 月 26 日正式发布。在 2.1.4 版本中,我们对数据湖分析场景进行了多项功能体验优化,重点修复了旧版本中异常内存占用的问题,同时提交了若干改进项以及问题修复,进一步提升了系统的性能、稳定性及易用性,欢迎大家下载使用。

亲爱的社区小伙伴们,Apache Doris 2.1.4 版本已于 2024 年 6 月 26 日正式发布。在 2.1.4 版本中,我们对数据湖分析场景进行了多项功能体验优化,重点修复了旧版本中异常内存占用的问题,同时提交了若干改进项以及问题修复,进一步提升了系统的性能、稳定性及易用性,欢迎大家下载使用。

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

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

行为变更

  • 通过 Catalog 查询外部表(如 Hive 数据表)时,系统将忽略不存在的文件:当从元数据缓存中获取文件列表时,由于缓存更新并非实时,因此可能在实际的文件列表已删除、而元数据缓存中仍存在该文件的情况。为了避免由于尝试访问不存在的文件而导致的查询错误,系统会忽略这些不存在的文件。
  • 默认情况下,创建 Bitmap Index 不再默认变更为 Inverted Index。该行为由 FE 配置项 enable_create_bitmap_index_as_inverted_index 控制,默认为 false。
  • 当使用 --console 启动 FE、BE进程时,所有日志将输出到标准输出,并通过前缀区分不同类型的日志。具体文档地址如下:
  • 如果建表时没有填写表注释,默认注释为空,不再使用表类型作为默认表注释。
  • decimalv3 的默认精度从 (9, 0) 调整为 (38,9) ,以和最初发布此功能的版本保持兼容。

新功能

查询优化器

  • 支持 FE 火焰图工具:在 FE 部署目录${DORIS_FE_HOME}/bin中会增加profile_fe.sh脚本,可以利用 async-profiler 工具生成 FE 的火焰图,用以发现性能瓶颈点。
  • 支持 SELECT DISTINCT 与聚合函数同时使用:支持SELECT DISTINCT与聚合函数同时使用,在一个查询中同时去重和进行聚合操作,如 SUM、MIN/MAX 等。
  • 支持无 GROUP BY 的单表查询重写:无GROUP BY的单表查询重写功能允许数据库优化器在不需要分组的情况下,根据查询的复杂性和数据表的结构,自动选择最佳的执行计划来执行查询,这可以提高查询的性能,减少不必要的资源消耗,并简化查询逻辑。
  • 查询优化器全面支持高并发点查询功能 :在 2.1.4 版本之后,查询优化器全面支持高并发点查询功能,所有符合点查询条件的 SQL 语句会自动走短路径查询,无需用户在客户端额外设置 set experimental_enable_nereids_planner = false

湖仓一体

异步物化视图

其他

功能优化

  • 支持为中文列名创建倒排索引。
  • 优化 Segment Cache 所消耗内存的估算准确度,以便能够更快地释放未使用的内存。
  • 在使用 Export 功能导出数据时,提前过滤空分区以提升导出效率。
  • 优化 Routine Load 任务分配算法以平衡 BE 节点之间的负载压力。
  • 在设置错误的会话变量名时,自动识别近似变量值并给出更详细的错误提示。
  • 支持将 Java UDF Jar 文件放到 FE 的 custom_lib 目录中并默认加载。
  • 为审计日志导入作业添加超时的全局变量audit_plugin_load_timeout ,以控制在加载审计插件或处理审计日志时允许的最大执行时间。
  • 优化了异步物化视图透明改写规划的性能。
  • INSERT 源数据为空时,BE 将不会执行任何操作。
  • 支持分批获取 Hudi 和 Hive 文件列表,当存在大量数据文件时可以提升数据扫描性能。
    • 120 万文件场景下,获取文件列表的时间由390秒缩减到46秒。
  • 创建异步物化视图时,禁止使用动态分区。
  • 支持检测 Hive 外表分区数据是否和异步物化视图同步。
  • 允许异步物化视图创建索引。

问题修复

查询优化器

  • 修复 SQL Cache 在 truncate paritition 后依然返回旧结果的问题。
  • 修复从 JSON Cast 到其他类型 Nullable 属性不对的问题。
  • 修复偶现的 Datetimev2 Literal 化简错误。
  • 修复窗口函数中不能使用 count(*) 的问题。
  • 修复 UNION ALL 下全部是无 FROM 的 SELECT 时,Nullable 属性可能错误的问题。
  • 修复 Bitmap in Join 和子查询解嵌套无法同时使用的问题。
  • 修复在特定情况下过滤条件不能下推到 CTE Producer 导致的性能问题。
  • 修复聚合 Combinator 为大写时,无法找到函数的问题。
  • 修复窗口函数没有被列裁剪正确裁剪导致的性能问题。
  • 修复多个同名不同库的表同时出现在查询中时,可能解析错误导致结果错误的问题。
  • 修复对于 Schema 表扫描时,由于生成了 Runtime Filter 导致查询报错的问题。
  • 修复关联子查询解嵌套,关联条件被折叠为 Null Literal 导致无法执行的问题。
  • 修复规划时,偶现的 Decimal Literal 被错误设置精度的问题。
  • 修复偶现的多层聚合被合并后规划错误的问题。
  • 修复偶现的聚合扩展规划报错输入输出不匹配的问题。
  • 修复偶现的 <=> 被错误转换为 = 的问题。

查询执行

  • 修复 Pipeline 引擎上达到限定的行数且内存没有释放时查询被挂起的问题。
  • 修复当设置 enable_decimal256 =true 且查询优化器回退到旧版本时 BE 发生 Core 的问题。

物化视图

  • 修复构建异步物化视图指定 store_row_column 属性,be core 的问题。
  • 修复构建异步物化视图指定 storage_medium 不生效的问题。
  • 修复基表删除后,异步物化视图 show partitions 报错的问题。
  • 修复异步物化视图引起备份恢复异常的问题。
  • 修复分区改写可能导致错误结果的问题。

半结构化数据分析

  • 修复带有空 Key 的 Variant 类型发生 Core 的问题。
  • Bitmap 索引和 Bloom Filter 索引不应支持轻量级索引变更。

主键模型

  • 修复在有部分列更新导入的情况下发生异常重启,可能会产生重复 Key 的问题。
  • 修复在内存紧张时发生 Clone 时 BE 可能会发生 core 的问题。

湖仓一体

  • 修复创建 Hive 表时无法使用完全限定名(如 ctl.db.tbl)的问题。
  • 修复 Refresh 操作时 Hive Metastore 连接未关闭的问题。
  • 修复从 2.0.x 升级到 2.1.x 时可能的元数据回放问题。
  • 修复 TVF 表函数无法读取空 Snappy 压缩文件的问题。
  • 修复无法读取具有无效最小/最大列统计信息的 Parquet 文件的问题。
  • 修复 Parquet/ORC Reader 中无法处理带有 null-aware 函数下推谓词的问题。
  • 修复创建 Hive 表时分区列顺序的问题。
  • 修复当分区值包含空格时无法将 Hive 表写入 S3 的问题。
  • 修复 Doris 写入 Parquet 格式 Hive 表无法被 Hive 读取的问题。
  • 修复 Hive 表 Schema 变更后无法读取 ORC 文件的问题。
  • 修复了部分情况下,启用 Hive Metastore Listener 后 FE 无法启动的问题。
  • 修复由 Hadoop FS 缓存引起的 FE OOM 问题。
  • 修复写出 Parquet 格式文件写出 Row Group 过小的问题。
  • 修复 Paimon 表 Schema 变更后无法通过 JNI 读取 Paimon 表的问题。
  • 修复 Paimon 表 Schema 变更后由于表字段长度判断错误导致无法读取的问题。
  • 修复了读取 Iceberg 中的时间戳列类型时的时区问题。
  • 修复了 Iceberg 表上的日期时间转换错误和数据路径错误的问题。
  • 修复阿里云 OSS Endpoint 不正确的问题。
  • 修复了大量文件导致的查询性能下降问题。
  • 允许用户定义的属性通过表函数传递给 S3 SDK。

数据导入

  • 修复 CANCEL LOAD 命令不生效的问题。
  • 修复导入事务 Publish 阶段空指针错误导致导入事务无法完成的问题。
  • 修复 bRPC 通过 HTTP 发送大数据文件序列化的问题。

数据管控

  • 修复了在将 DDL 或 DML 转发到主 FE 后,ConnectionContext 中的资源标签未设置的问题。
  • 修复了在启用 lower_case_table_names 时,Restore 表名不正确的问题。
  • 修复了清理无用数据或文件的管理命令不生效的问题。
  • 修复了无法从分区中删除存储策略的问题。
  • 修复了向多副本自动分区表导入数据时的数据丢失问题。
  • 修复了使用旧优化器查询或插入自动分区表时,表的分区列发生变化的问题。

内存管理

  • 修复日志中频繁报错 Cgroup meminfo 获取失败的问题
  • 修复使用 Bloom filter 时 Segment 缓存大小不受控制导致进程内存异常增长的问题。

权限

  • 修复开启表名大小写不敏感后,权限设置无效的问题。
  • 修复通过非Master FE 节点设置 LDAP 密码不生效的问题。
  • 修复了无法检查 SELECT COUNT(*) 语句授权的问题。

其他

  • 修复 MySQL 连接损坏情况下,客户端 JDBC 程序无法关闭连接的问题。
  • 修改 SHOW PROCEDURE STATUS 语句返回值与 MySQL 协议不兼容的问题。
  • libevent 库强制开启 Keepalive 以解决部分情况下连接泄露的问题。
相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
21小时前
|
SQL 存储 运维
网易游戏如何基于阿里云瑶池数据库 SelectDB 内核 Apache Doris 构建全新湖仓一体架构
随着网易游戏品类及产品的快速发展,游戏数据分析场景面临着越来越多的挑战,为了保证系统性能和 SLA,要求引入新的组件来解决特定业务场景问题。为此,网易游戏引入 Apache Doris 构建了全新的湖仓一体架构。经过不断地扩张,目前已发展至十余集群、为内部上百个项目提供了稳定可靠的数据服务、日均查询量数百万次,整体查询性能得到 10-20 倍提升。
网易游戏如何基于阿里云瑶池数据库 SelectDB 内核 Apache Doris 构建全新湖仓一体架构
|
1天前
|
关系型数据库 数据库 RDS
阿里云数据库加ip白名单
阿里云数据库加ip白名单
4 0
|
16天前
|
监控 大数据 Java
使用Apache Flink进行大数据实时流处理
Apache Flink是开源流处理框架,擅长低延迟、高吞吐量实时数据流处理。本文深入解析Flink的核心概念、架构(包括客户端、作业管理器、任务管理器和数据源/接收器)和事件时间、窗口、状态管理等特性。通过实战代码展示Flink在词频统计中的应用,讨论其实战挑战与优化。Flink作为大数据处理的关键组件,将持续影响实时处理领域。
122 5
|
1月前
|
消息中间件 Java Kafka
实时计算 Flink版操作报错之Apache Flink中的SplitFetcher线程在读取数据时遇到了未预期的情况,该怎么解决
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
|
29天前
|
数据处理 Apache 流计算
|
1月前
|
消息中间件 关系型数据库 MySQL
Apache Flink CDC 3.1.0 发布公告
Apache Flink 社区很高兴地宣布发布 Flink CDC 3.1.0!
584 1
Apache Flink CDC 3.1.0 发布公告
|
17天前
|
数据采集 关系型数据库 MySQL
使用Apache Flink实现MySQL数据读取和写入的完整指南
使用Apache Flink实现MySQL数据读取和写入的完整指南
116 0
使用Apache Flink实现MySQL数据读取和写入的完整指南
|
20天前
|
消息中间件 Kafka 数据处理
Apache Flink:流式数据处理的强大引擎
【6月更文挑战第8天】Apache Flink是开源的流处理框架,专注于高效、低延迟的无界和有界数据流处理。它提供统一编程模型,支持实时与批量数据。核心概念包括DataStreams、DataSets、时间语义和窗口操作。使用Flink涉及环境设置、数据源配置(如Kafka)、数据转换(如map、filter)、窗口聚合及数据输出。通过丰富API和灵活时间语义,Flink适于构建复杂流处理应用,在实时数据处理领域具有广阔前景。
|
3天前
|
消息中间件 分布式计算 Kafka
深度分析:Apache Flink及其在大数据处理中的应用
Apache Flink是低延迟、高吞吐量的流处理框架,以其状态管理和事件时间处理能力脱颖而出。与Apache Spark Streaming相比,Flink在实时性上更强,但Spark生态系统更丰富。Apache Storm在低延迟上有优势,而Kafka Streams适合轻量级流处理。选型考虑延迟、状态管理、生态系统和运维成本。Flink适用于实时数据分析、复杂事件处理等场景,使用时注意资源配置、状态管理和窗口操作的优化。

热门文章

最新文章