Apache Doris (incubating) 1.0 Release 版本正式发布!

ApacheDoris

亲爱的社区小伙伴们,历时数月,我们很高兴地宣布,Apache Doris (incubating) 于 2022 年 4 月 18 日迎来了 1.0 Release 版本的正式发布!这是 Apache Doris 在进入 Apache 基金会孵化以来的第一个 1 位版本,也是迄今为止对 Apache Doris 核心代码重构幅度最大的一个版本! 有 114 位 Contributor 为 Apache Doris 提交了超过 660 项优化和修复**,感谢每一个让 Apache Doris 变得更好的你!

在 1.0 版本中,我们引入了向量化执行引擎、Hive 外部表、Lateral View 语法及 Table Function 表函数、Z-Order 数据索引、Apache SeaTunnel 插件等重要功能,增加了对 Flink CDC 同步更新和删除数据的支持,优化了诸多数据导入和查询过程中的问题,对 Apache Doris 的查询性能、易用性、稳定性等多方特效进行了全面加强,欢迎大家下载使用!

特别鸣谢

每一个不曾发版的日子,背后都有无数贡献者枕戈待旦,不敢停歇半分。在此我们尤其要感谢来自向量化执行引擎、查询优化器、可视化运维平台 等 SIG (专项兴趣小组)的小伙伴。自 2021 年 8 月 Apache Doris 社区 SIG 小组成立以来,来自百度、美团、小米、京东、蜀海、字节跳动、腾讯、网易、阿里巴巴、PingCAP、Nebula Graph 等十余家公司的数十名贡献者作为首批成员加入到 SIG 中,第一次以专项小组的开源协作形式完成了向量化执行引擎、查询优化器、 Doris Manager 可视化监控运维平台等如此重大功能的开发,历时半年以上、开展技术调研和分享数十次、召开远程会议近百次、累计提交 Commits 多达数百个、涉及代码行数高达十余万行,正是因为有他们的贡献,才有 1.0 版本的问世,让我们再次对他们的辛勤付出表示最真诚的感谢!

与此同时,Apache Doris 的贡献者数量已超过 300 人( 点击回顾:社区动态|Apache Doris 迎来第 300 位 Contributor !),每月活跃的贡献者数量超过了 60 人,近几周平均每周提交的 Commits 数量也超过 80,社区聚集的开发者规模及活跃度已经有了极大的提升。我们十分期待有更多的小伙伴参与社区贡献中来,与我们一道把 Apache Doris 打造成全球顶级的分析型数据库,也期待所有小伙伴可以与我们一起收获宝贵的成长。如果你想参与社区,欢迎通过开发者邮箱 dev@doris.apache.org 与我们取得联系。

重要更新 

向量化执行引擎 [Experimental]

过去 Apache Doris 的 SQL 执行引擎是基于行式内存格式以及基于传统的火山模型进行设计的,在进行 SQL 算子与函数运算时存在非必要的开销,导致 Apache Doris 执行引擎的效率受限,并不适应现代 CPU 的体系结构。向量化执行引擎的目标是替换 Apache Doris 当前的行式 SQL 执行引擎,充分释放现代 CPU 的计算能力,突破在 SQL 执行引擎上的性能限制,发挥出极致的性能表现。

基于现代 CPU 的特点与火山模型的执行特点,向量化执行引擎重新设计了在列式存储系统的 SQL 执行引擎:

  • 重新组织内存的数据结构,用 Column 替换 Tuple,提高了计算时 Cache 亲和度,分支预测与预取内存的友好度
  • 分批进行类型判断,在本次批次中都使用类型判断时确定的类型,将每一行类型判断的虚函数开销分摊到批量级别。
  • 通过批级别的类型判断,消除了虚函数的调用,让编译器有函数内联以及 SIMD 优化的机会

从而大大提高了 CPU 在 SQL 执行时的效率,提升了 SQL 查询的性能。

在 Apache Doris 1.0 版本中,通过  set batch_size = 4096  和  set enable_vectorized_engine = true 开启向量化执行引擎,多数情况下可显著提升查询性能。在 SSB 和 OnTime 标准测试数据集下,多表关联和宽列查询两大场景的整体性能分别有 3 倍和 2.6 倍的提升。

Lateral View 语法 [Experimental]

通过 Lateral View 语法,我们可以使用 explod_bitmap 、explode_split、explode_json_array  等 Table Function 表函数,将 bitmap、String 或 Json Array 由一列展开成多行,以便后续可以对展开的数据进行进一步处理(如 Filter、Join 等)。

Hive 外表 [Experimental]

Hive External Table 为用户提供了通过 Doris 直接访问 Hive 表的能力,外部表省去了 繁琐的数据导入工作,可以借助 Doris 本身 OLAP 的能力来解决 Hive 表的数据分析问题。当前版本支持将 Hive 数据源接入 Doris,并支持通过 Doris 与 Hive 数据源中的数据进行联邦查询,进行更加复杂的分析操作。

支持 Z-Order 数据排序格式

Apache Doris 数据是按照前缀列排序存储的,因此在包含前缀查询条件时,可以在排序数据上进行快速的数据查找,但如果查询条件不是前缀列,则无法利用数据排序的特征进行快速数据查找。通过 Z-Order Indexing 可以解决上述问题,在 1.0 版本中我们增加了 Z-Order 数据排序格式,在看板类多列查询的场景中可以起到很好过滤效果,加速对非前缀列条件的过滤性能。

支持 Apache SeaTunnel (incubating) 插件

Apache SeaTunnel 是一个高性能的分布式数据集成框架,架构于 Apache Spark 和 Apache Flink 之上。在 Apache Doris 1.0 版本中,我们增加了 SaeTunnel 插件,用户可以借助 Apache SeaTunnel 进行多数据源之间的同步和 ETL。

新增函数

支持更多 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;

注意:以上标记 [Experimental] 的功能为实验性功能,我们将会在后续版本中对以上功能进行持续优化和迭代,并后续版本中进一步完善。在使用过程中有任何问题或意见,欢迎随时与我们联系。

 重要优化 

功能优化

  • 降低大批量导入时,生成的 Segment 文件数量,以降低 Compaction 压力。
  • 通过 BRPC 的 attachment 功能传输数据,以查询过程中的降低序列化和反序列化开销。
  • 支持直接返回 HLL/BITMAP 类型的二进制数据,用于业务在外侧解析。
  • 优化并降低 BRPC 出现 OVERCROWDED 和 NOT_CONNECTED 错误的概率,增强系统稳定性。
  • 增强导入的容错性。
  • 支持通过 Flink CDC 同步更新和删除数据。
  • 支持自适应的 Runtime Filter。
  • 显著降低 insert into 操作的内存占用

易用性改进

  • Routine Load 支持显示当前 offset 延迟数量等状态。
  • FE audit log 中增加查询峰值内存使用量的统计。
  • Compaction URL 结果中增加缺失版本的信息,方便排查问题。
  • 支持将 BE 标记为不可查询或不可导入,以快速屏蔽问题节点。

重要 Bug 修复

  • 修复若干查询错误问题。
  • 修复 Broker Load 若干调度逻辑问题。
  • 修复 STREAM 关键词导致元数据无法加载的问题。
  • 修复 Decommission 无法正确执行的问题。
  • 修复部分情况下操作 Schema Change 操作可能出现 -102 错误的问题。
  • 修复部分情况下使用 String 类型可能导致 BE 宕机的问题。

其他

增加 Minidump 功能;

补充说明

Doris Manager 可视化监控运维平台也将在近期发布 1.0 版本,目前已经进入 Release 流程中,后续将独立发布发版通告,请大家持续关注。

下载使用

下载使用

http://doris.apache.org/zh-CN/downloads/downloads.html\

升级说明

您可以从 Apache Doris 0.15.0 或 0.15.x 发行版本直接升级到 1.0 Release 版本,升级过程请参考文档:

http://doris.apache.org/zh-CN/installing/upgrade.html\

更新日志

详细 Release Note 请查看链接:

https://github.com/apache/incubator-doris/issues/8549\

意见反馈

如果您遇到任何使用上的问题,欢迎随时通过 GitHub Discussion 论坛或者 Dev 邮件组与我们取得联系。

GitHub 论坛:https://github.com/apache/incubator-doris/discussions\

Dev 邮件组:dev@doris.apache.org

致 谢

Apache Doris(incubating) 1.0 Release 版本的发布离不开所有社区用户的支持,在此向所有参与版本设计、开发、测试、讨论的社区贡献者们表示感谢。

他们分别是:

@924060929

@adonis0147

@Aiden-Dong

@aihai

@airborne12

@Alibaba-HZY

@amosbird

@arthuryangcs

@awakeljw

@bingzxy

@BiteTheDDDDt

@blackstar-baba

@caiconghui

@CalvinKirs

@cambyzju

@caoliang-web

@ccoffline

@chaplinthink

@chovy-3012

@ChPi

@DarvenDuan

@dataalive

@dataroaring

@dh-cloud

@dohongdayi

@dongweizhao

@drgnchan

@e0c9

@EmmyMiao87

@englefly

@eyesmoons

@freemandealer

@Gabriel39

@gaodayue

@GoGoWen

@Gongruixiao

@gwdgithubnom

@HappenLee

@Henry2SS

@hf200012

@htyoung

@jacktengg

@jackwener

@JNSimba

@Keysluomo

@kezhenxu94

@killxdcj

@lihuigang

@littleeleventhwolf

@liutang123

@liuzhuang2017

@lonre

@lovingfeel

@luozenglin

@luzhijing

@MeiontheTop

@mh-boy

@morningman

@mrhhsg

@Myasuka

@nimuyuhan

@obobj

@pengxiangyu

@qidaye

@qzsee

@renzhimin7

@Royce33

@SleepyBear96

@smallhibiscus

@sodamnsure

@spaces-X

@sparklezzz

@stalary

@steadyBoy

@tarepanda1024

@THUMarkLau

@tianhui5

@tinkerrrr

@ucasfl

@Userwhite

@vinson0526

@wangbo

@wangshuo128

@wangyf0555

@weajun

@weizuo93

@whutpencil

@WindyGao

@wunan1210

@xiaokang

@xiaokangguo

@xiedeyantu

@xinghuayu007

@xingtanzjr

@xinyiZzz

@xtr1993

@xu20160924

@xuliuzhe

@xuzifu666

@xy720

@yangzhg

@yiguolei

@yinzhijian

@yjant

@zbtzbtzbt

@zenoyang

@zh0122

@zhangstar333

@zhannngchen

@zhengshengjun

@zhengshiJ

@ZhikaiZuo

@ztgoto

@zuochunwei


相关链接:

Apache Doris 官方网站:

http://doris.incubator.apache.org\

Apache Doris Github:

https://github.com/apache/incubator-doris\

Apache Doris 开发者邮件组:

dev@doris.apache.org

阅读 353

Apache Doris是由百度开源并贡献给Apache基金会的MPP分析型数据库产品,以极速易用的特性被业内熟知,支...

1 声望
0 粉丝
0 条评论

Apache Doris是由百度开源并贡献给Apache基金会的MPP分析型数据库产品,以极速易用的特性被业内熟知,支...

1 声望
0 粉丝
文章目录
宣传栏