版本发布历史
本文档主要介绍开源三位迭代版本的主要变更。不代表公有云用户使用的版本变更。
版本记录
本文档主要介绍开源三位迭代版本的主要变更。不代表公有云用户使用的版本变更。
2022.10.01
在1.1版本之后 PALO 启用全新年代版本体系,第一个长期维护版本即2022.10系列,基于1.1 版本, 并且修复了大量稳定性问题和bug。
1.1.0
在 1.1 版本中,实现了计算层和存储层的全面向量化,所有查询默认通过向量化执行引擎来执行,性能较之前版本有 3-5 倍的巨大提升。增加了直接访问 Apache Iceberg 外部表的能力,修复了诸多之前版本存在的性能与稳定性问题,使系统稳定性得到大幅提升
-
功能优化
- Compaction 逻辑优化
- Parquet 和 ORC 文件的读取效率优化
- 元数据安全性保证优化
-
重要bug修复
- 修复无法传输超过2GB 包的问题
- 修复由于缺少数据版本而无法查询数据的问题
-
重要接口变更‘
- string 类型增加了长度限制,并且不可以再作为key 列使用
- 之后版本将取消SegmentV1支持
1.0.5
该版本仅包含 1.0 之后的bug修复和安全性更新
-
重要 Bug 修复
- 通过s3协议导出大量数据可能会因为临时文件写入失败而导致失败的问题
- 查询大量数据,极端情况下可能会导致be coredump
- 修复了fastjson 1.x 版本的安全隐患
- 修复了包含Lateral View 的视图查询可能会报错的问题
1.0.0-preview2
-
新增功能
-
支持向量化执行引擎(Experimental)
通过
set enable_vectorized_engine=true
开启。 多数情况下,可显著提升查询性能。 -
支持 Lateral View 语法(Exprimental)
通过该语法,我们可以将 bitmap、String 或 Json Array 由一列展开成多行,以便后续可以对展开的数据进行进一步处理(如 Filter、Join 等)。
-
支持 Hive 外表(Exprimental)
支持用户创建 Hive 外表并进行查询。该功能将扩展 Doris 的联邦查询能力。可以使用该功能直接访问并分析 hive 中存储的数据,或通过 insert into select 语句将 hive 数据导入到 Doris 中。
-
支持 Apache SeaTunnel(Incubating) 插件
用户可以接触 SeaTunnel 进行多数据源之间的通过和 ETL。
-
支持 Z-Order 数据排序格式。
通过 Z-Order 排序存储数据,可以加速对非前缀列条件的过滤性能。
-
支持更多 bitmap 函数
bitmap_max
bitmap_and_not
bitmap_and_not_count
bitmap_has_all
bitmap_and_count
bitmap_or_count
bitmap_xor_count
bitmap_subset_limit
sub_bitmap
具体可查看函数手册。
- 支持国密算法 SM3/SM4
-
-
重要 Bug 修复
- 修复若干查询错误问题。
- 修复 broker load 若干调度逻辑问题。
- 修复 STREAM 关键词导致元数据无法加载的问题。
- 修复 Decommission 无法正确执行的问题。
-
优化
- 降低大批量导入时,生成的 Segment 文件数量,以降低 Compaction 压力。
- 通过 BRPC 的 attachment 功能传输数据,以查询过程中的降低序列化和反序列化开销。
- 支持直接返回 HLL/BITMAP 类型的二进制数据,用于业务在外侧解析。
- 优化并降低 BRPC 出现 OVERCROWDED 和 NOT_CONNECTED 错误的概率,增强系统稳定系。
- 增强导入的容错性。
- 支持通过 Flink CDC 同步更新和删除数据。
- 支持自适应的 Runtime Filter。
-
易用性
- Routine Load 支持显示当前 offset 延迟数量等状态。
- FE audit log 中增加查询峰值内存使用量的统计。
- Compaction URL 结果中增加缺失版本的信息,方便排查问题。
- 支持将 BE 标记为不可查询或不可导入,以快速屏蔽问题节点。
-
其他
- 增加 Minidump 功能。
0.15.5
该版本仅包含 0.15.3 之后的bug修复和安全性更新
-
重要 Bug 修复
- 通过s3协议导出大量数据可能会因为临时文件写入失败而导致失败的问题
- 查询大量数据,极端情况下可能会导致be coredump
- 修复了fastjson 1.x 版本的安全隐患
0.15.3
该版本为 0.15.1 基础上的 Bug 修复版本。
-
重要 Bug 修复
- 修复部分情况下,执行 schema change 操作出现 -102 错误的问题。
- 修复部分情况下,使用 decommission 操作无法下线 BE 节点的问题。
- 修复部分情况下,使用 string 类型导致 BE 宕机的问题。
-
优化
- 显著降低 insert into 操作的内存占用。
0.15.3
该版本为 0.15.1 基础上的 Bug 修复版本。
-
重要 Bug 修复
- 修复部分情况下,执行 schema change 操作出现 -102 错误的问题。
- 修复部分情况下,使用 decommission 操作无法下线 BE 节点的问题。
- 修复部分情况下,使用 string 类型导致 BE 宕机的问题。
-
优化
- 显著降低 insert into 操作的内存占用。
0.15.1-rc09
该版本为 0.15.1-rc03 基础上的 Bug 修复版本。
-
重要 Bug 修复
- 修复 Datetime 序列化方式不兼容导致数据读写错误的问题。
- 修复某些情况下导入任务因内存限制导致 BE 宕机的问题。
- 修复 FE 元数据内存泄露问题。
- 修复使用 S3 SDK 进行备份恢复会导致 BE 宕机的问题。
- 修复 TupleIsNullPredicate 处理错误导致 BE 宕机的问题。
- 修复 Sync Job 的若干问题。
- 修复某些 Colocation Join 场景下查询规划错误导致无法找到 tablet 的问题。
- 修复当 BE 节点被删除后,Colocation 属性的表无法自动修复副本的问题。
- 修复 union 查询无法使用 select into outfile 导出功能的问题。
-
优化
- 优化 BE 内存使用,解决在高频导入场景下 BE 内存持续上涨的问题。
- 优化导入过程中的 Segment 文件生产逻辑,减少小文件数量。
- 优化 Routine Load 的任务调度逻辑。在无可消费数据时不再下发子任务。
show routine load
语句中返回当前正在执行的子任务的 transaction id,方便查看子任务状态。- Export 导出功能支持指定 Label,并可以通过 Label 进行作业查看。
- 会话变量
forward_to_master
默认值修改为true
。 - Spark/Flink Connector 访问 Palo 不再需要 Admin 权限。
-
其他
- 升级若干第三方库版本。Docker 编译镜像升级到 1.4.1。
- 修复在 ARM 平台上编译的若干问题。
- 支持通过
alter table
命令将 MySQL 引擎外表直接修改为 ODBC 引擎外表。
0.15.1-rc03
0.14.13.1
该版本为 0.14.13 基础上的 Bug 修复版本。
-
重要 Bug 修复
- 修复部分情况下,执行
show proc /bdbje
后,会导致历史元数据日志无法删除的问题。 - 修复部分情况下,union 常量查询结果错误的问题。
- 修复部分情况下,开启 colocation plan 变量导致查询结果不一致的问题。
- 修复部分情况下,colocation 表的数据分片处于 DECOMMISSION 状态无法修复的问题。
- 修复 no-avx2 版本的二进制程序错误的调用 avx2 指令的问题。
- 修复部分情况下,执行
-
优化
- 执行 Insert 命令导入 0 行数据的情况下,依然后记录 Insert 操作。可以通过
show load
命令查看。 - 升级 librdkafka 到 1.6 版本,以支持 routine load 消费 kafka 时使用 read_committed 语义。
- 增加若干 FE 元数据 checkpoint 相关监控指标,以方便监控元数据 checkpoint 问题。
- 执行 Insert 命令导入 0 行数据的情况下,依然后记录 Insert 操作。可以通过
0.14.13
0.14.12.4
0.14.12
0.14.7
0.13.15
-
新增功能
- 新增一种新的 Join Reorder 算法,在 TPCDS 17, 25, 37, 54, 82, 84, 85 等复杂 Join 查询中有明显优化效果。Join Reorder。
- 支持通过 BE 计算所有常量表达式,以补充 FE 对常量表达式计算能力不足的问题。常量表达式折叠。
- 支持 将数据导出到 ODBC 外表。
- 新增 TopN 聚合函数。
-
优化
- 优化存储引擎数据读取逻辑,包括版本合并、谓词下推等,提升查询性能。
- 通过参数
fuzzy_parse
优化部分 JSON 数据导入 场景的导入速度。
-
严重bug修复
- 修复导入 JSON 格式数据可能导致BE内存泄露的问题。
- 修复BE执行 Compaction 逻辑可能导致磁盘空间不释放的问题。
- 修复 Delete 条件包含
IS NULL/IS NOT NULL
谓词导致 BE 宕机的问题。 - 修复 Routine Load 消费 Kafka 数据,在某些情况下可能丢失数据的问题。
- 修复若干查询问题。