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


668b44e8-c73e-489a-bd07-e982c9f7ff67.gif


9daa6f4e-e09c-49ee-a919-5b0198cab1ca.png



亲爱的社区小伙伴们,历时数月,我们很高兴地宣布,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 的查询性能、易用性、稳定性等多方特效进行了全面加强,欢迎大家下载使用!点击文末“ 阅读原文 ”即可直接前往下载地址。


🎉  下载使用  🎉

代码仓库: https://github.com/apache/incubator-doris

下载使用: http://doris.apache.org/zh-CN/downloads/downloads.html

源码地址: https://github.com/apache/incubator-doris/releases/tag/1.0.0-rc03

欢迎大家关注 Apache Doris 点赞送 Star 🌟




特 别 鸣 谢


每一个不曾发版的日子,背后都有无数贡献者枕戈待旦 ,不敢停歇半分。在此我们尤其要感谢来自 向量化执行引擎、查询优化器、可视化运维平台 等 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 与我们取得联系。

8ab6c6a4-c525-4c78-a2b9-d35f0eca818e.png


5788f697-e71c-49c0-bf94-7b8ea0c0d6c4.png



重 要 更 新


向量化执行引擎 [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 倍的提升。

6115627b-a326-4d36-bf5d-4efbde7402ba.png


2ddc287a-0729-438d-90e3-a9e50d09f134.png


Lateral View 语法 [Experimental ]

通过 Lateral View 语法,我们可以使用 explod_bitmap 、explode_split、explode_jaon_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 Manger 可视化监控运维平台也将在近期发布 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 版本的发布离不开所有社区用户的支持,在此向所有参与版本设计、开发、测试、讨论的社区贡献者们表示感谢,他们分别是:


eabe2bb0-ea8e-47a9-9683-9676004b87e4.png

贡献者名单

504dd909-b216-459e-8078-2dbc73eea653.png


@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 迎来第 300 位 Contributor !
社区动态|Apache Doris 社区喜迎新晋 PPMC & Committer
社区人物志|缪翎:见证开源世界的女性力量




欢迎扫码关注:

12aafc8b-5694-4d76-8243-4c5fa943a75a.jpg

Apache Doris(incubating)官方公众号


相关链接:

Apache Doris官方网站:

http://doris.incubator.apache.org

Apache Doris Githu b:

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

Apache Doris 开发者邮件组:

dev@doris.apache.org






3294a4ae-92a4-47f7-afcf-84d547c7663b.png


本文分享自微信公众号 - ApacheDoris(gh_80d448709a68)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“ OSC源创计划 ”,欢迎正在阅读的你也加入,一起分享。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Apache Doris(孵化器项目)是一个开源的分布式实时数据仓库,旨在提供高性能和可伸缩性的数据分析和报告能力。它的主要原理和实践如下: 1. 列式存储:Apache Doris使用列式存储来存储数据,即将每列的数据分开存储在不同的文件中。这种存储方式有助于提高数据的压缩率,减少存储空间的占用,并提高数据查询的效率。 2. 分布式架构:Apache Doris采用分布式架构,将数据分片存储在多个节点上,以实现数据的水平扩展和负载均衡。每个节点都有相同的数据副本,确保数据的高可靠性和容错性。 3. Write-optimized:Apache Doris采用了“write-optimized”(写优化)的设计理念,即将写入操作的性能优化至极致。它使用了基于LSM树(Log-structured Merge Tree)的数据结构,将写入操作顺序化和批处理,大大提高了写入性能。 4. 计算与存储分离:Apache Doris将计算和存储分离,通过多个计算引擎(如Palo,Spark)对数据进行分析和查询。这种架构允许根据需求进行灵活的扩缩容,并提供了多种数据接入和导出方式。 在实践中,可以按照以下步骤使用Apache Doris: 1. 安装和配置:首先需要下载和部署Apache Doris,然后进行相关配置,包括节点的IP地址、端口号、数据存储路径等。 2. 数据导入:将数据导入到Apache Doris中,可以通过多种方式,如使用ETL工具、使用JDBC驱动程序或通过API进行数据导入。 3. 数据模型设计:根据需求设计数据模型,包括表的结构、字段名和数据类型等。 4. 数据分片和分布:根据数据量和负载要求,将数据分片存储在不同的节点上,并确保数据的均衡分布。 5. 数据查询和分析:使用SQL语句对数据进行查询和分析,通过连接计算引擎对数据进行处理和计算,并根据需要生成相应的报表和图表。 6. 集群监控和管理:通过监控工具对集群进行实时监控,包括节点的状态、负载情况和性能指标等,及时发现和解决问题。 总之,Apache Doris通过列式存储、分布式架构、写优化和计算与存储分离等原理,提供了高效可靠的数据分析和报告能力。在实践中,可以根据需求进行安装配置、数据导入、数据模型设计、数据查询和分析,以及集群监控和管理等步骤。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ApacheDoris

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值