作为 Apache Doris 社区的主要维护团队,百度Doris团队也同时维护了基于 Apache Doris 官方 Release 版本的 3 位迭代版本(tags) 。包括快速的 Bug 修复和新功能更新。
这些 3 位迭代版本都在百度内部进行过测试和上线,推荐使用。
以下内容基于0.13.15版本迭代。该版本可从0.13.15版本或0.14.0版本平滑升级。
新增功能
LDAP认证
支持LDAP验证登陆和LDAP组授权。
备份恢复支持ODBC外部表和逻辑视图
备份恢复功能支持ODBC外部表以及逻辑视图。同时,备份恢复功能支持通过EXCLUDE语法排除部分不需要备份或恢复的表。
Unique Key数据模型上的UPDATE语句
在Unique Key数据模型上可以执行UPDATE语句,如:
UPDATE tbl SET v1 = 2 where k1 = "abc";
多字节分隔符
在导入文本格式数据时,支持使用多字节分隔符作为列分割或行分隔符。可以有效解决数据中包含分隔符的情况。
导入前置过滤
Broker Load 和 Routine Load 导入命令支持前置过滤条件。前置过滤功能允许用户在进行列映射和列变换之前,对原始数据先进行一次过滤。该功能可用于从同一数据源中过滤出需要的数据导入到不同目的表中。
Export支持过滤条件
Export可以指定WHERE条件对导出的数据进行选择性过滤。同时Export也支持了指定多字节行列分隔符,以及导出数据到本地的功能。
图形化展示查询计划、Profile
可以在命令行通过图形化的树形结构展示查询计划和Query Profile。可以更直观的分析查询的性能瓶颈。
内置存储系统监控指标
部分核心监控指标(Metric)将由FE收集并存储。在用户没有部署监控系统的情况下,也能通过命令行,图形化的显示部分核心监控指标,方便定位系统问题。
其他功能更新
-
Tablet 节点内盘间迁移:支持通过HTTP接口指定Tablet进行同一节点的磁盘间数据迁移。
-
指定导入并发度:支持通过参数指定Broker Load 的导入并发度,充分利用系统资源提升导入速度。
-
DELETE命令支持指定多个分区:支持在一个DELETE命令中指定多个分区执行删除操作。
-
支持对Unique Key模型表的非主键列建立二级索引。
-
ODBC外部表支持 SQL Server。
-
Stream Load 支持导入压缩格式数据。
-
支持 MySQL Client 8.0 的连接。
-
支持SELECT...OUTFILE命令执行成功后,写入一个标记文件,以方便下游业务感知。
-
提供一个Python脚本用于分割本地文件:该脚本支持指定行列分隔符对本地文件分割,以方便通过Stream Load并行的导入本地大文件。
重要Bug修复
BE内存占用过高导致OOM的问题
修复一个在数据写入时可能导致内存膨胀的问题,解决BE经常OOM的现象。
过滤数据文件未删除导致磁盘空间占用过高的问题
修复某些情况下BE上的数据文件未被正确删除,导致长时间占用磁盘空间的问题。
Routine Load报错Too Many Tasks并卡死的问题
修复BE上Routine Load工作线程在某些情况下因未正确退出,导致工作线程耗尽,作业报错Too Many Tasks的问题。
功能优化
支持更多条件下推到存储引擎进行过滤
支持更多条件下推到存储引擎,包括DELETE条件、IN等等,提升查询性能。
元数据表级锁粒度
FE中的元数据锁粒度从Database级别降低到Table级别。有效解决了元数据频繁更新场景下(如大量导入操作时),同一数据库中不同表之间元数据并发写导致的性能问题。
优化Zonemap索引的生成策略
Zonemap索引的生成策略会根据Data Page中的数据条目数量动态调整。在某些大字符串列上不再生成Zonemap索引,可以显著降低磁盘空间占用。
Exchange Node支持并发的归并排序
支持选择性的通过两级并发归并排序算法提升Exchange Node上的数据排序效率。可以通过会话变量 enable_exchange_node_parallel_merge 开启。
Local Exchange Node
当Exchange Node的源端和目的端在同一BE节点上时,将不再通过序列化反序列化的方式通过网络传输数据,减少CPU开销。
SET_VAR 语法支持指定多个会话变量
SET_VAR语法支持指定多个会话变量,以更方便的控制一个SQL语句的行为参数。
欢迎扫码关注:
Apache Doris(incubating)官方公众号
相关链接:
Apache Doris官方网站:
http://doris.incubator.apache.org
百度 Doris 官方网站:
http://doris.baidu.com/
百度 Doris Github:
https://github.com/baidu-doris/incubator-doris
Apache Doris 开发者邮件组: