Apache Doris 3.0核心特性和生产实践解读

科技   2024-10-21 09:02   浙江  

上周Doris社区发布了Doris3.0版本,3.0版本被定位成湖仓一体演化路线上的重要里程碑版本。

同时Doris官方社区已经更新了3.0版本的文档。

3.0新特性很多,我们还是着重讲新特性中哪些是和真正开发息息相关的。哪些是需要你特别需要关注的。

存算分离架构

从 3.0 版本开始,Doris 开始支持存算分离模式,用户可以在集群部署时选择采用存算一体模式或存算分离模式。

存算分离对计算与存储进行解耦,计算节点不再存储主数据,而是引入共享存储层(HDFS与对象存储)作为统一的数据主存储空间。

这么做的好处显而易见,例如多个集群可以共享一份存储数据,成本大幅降低。

在2.0时期,存算分离特性支持较弱,大家在用的时候大概率是用它的外部表功能,Doris作为计算引擎。说直白点,2.0仅仅初步实现了外表查询的存算分离,以及支持冷热分层功能。

湖仓一体

湖仓这个方向在数据这个领域未来的几年内会是持续热点。尤其是Paimon这样的框架出现,传统的数仓的开发方式已经开始在慢慢受到挑战,这个方向在很多大厂其实已经逐步在探索并且在很多场景进行了落地,需要大家特别关注。

Doris2.0版本我们使用湖仓能力一般是把数据读到Doris进行处理,但是无法写回。3.0增加了Hive、Iceberg数据写回功能,写回功能支持用户直接通过Doris创建 Hive、Iceberg表,并将数据写入到表中。基于此,用户可以将 Apache Doris 中的内表数据写回离线湖仓,或者对离线湖仓中的数据利用 Apache Doris 进行数据加工后落地回离线湖仓,从而实现更简化和高效的数据湖构建。

半结构化数据分析增强

我们简单的说,Doris2.0版本引入了倒排索引、N-Gram Bloom Filter、Variant数据类型,但是复杂结构化数据的查询性能其实很差。

3.0版本优化了Variant数据类型,处理JSON数据更加快速。对于Variant这个数据类型,我这里贴一个链接,需要大家自己去看。

https://doris.apache.org/zh-CN/docs/3.0/sql-manual/sql-data-types/semi-structured/VARIANT/

1. Variant 数据类型支持创建索引加速查询,包括倒排索引、Bloom Filter 索引以及内置的 ZoneMap 索引;
2. 对于包含 Variant 数据类型的 Unique 模型表,支持灵活的部分列更新;
3. Variant 数据类型支持在存算分离模式上使用,并对其元数据存储进行了优化;
4. 支持将 Variant 数据类型导出成 Parquet、CSV 等格式。

ETL能力增强

主要体现在事务性增强和可观测性增强。

其中事务性增强指的是3.0对insert into select、delete和update操作提供了显式事务支持,从而避免类似幻读的情况出现:

BEGIN;
DELETE FROM table WHERE date >= "2024-07-01" AND date <= "2024-07-31";
INSERT INTO table SELECT * FROM stage_table;
COMMIT;

可观测性这个就很值得一提了,2.0版本中部分复杂查询由于Plan 的原因或者数据的原因,导致计算量特别大,开发者只有在查询结束后才能拿到Profile做性能分析以发现问题,有可能对线上系统产生影响。

多表物化视图

生产环境中一些复杂查询经常被执行且性能较低,这些查询可以考虑使用物化视图来优化。

3.0版本对多表物化视图的构建能力进行了增强并提高稳定性,重构了同步物化视图的透明改写逻辑并拓展了透明改写的能力,同时在异步物化视图的易用性上做了增强,让物化视图在查询加速,数据建模等场景更好用、更稳定。

Java UDTF

3.0版本开始支持增加对Java UDTF的支持。虽然没咋用过,但是很强。


300万字!全网最全大数据学习面试社区等你来!


如果这个文章对你有帮助,不要忘记 「在看」 「点赞」 「收藏」 三连啊喂!

全网首发|大数据专家级技能模型与学习指南(胜天半子篇)
互联网最坏的时代可能真的来了
我在B站读大学,大数据专业
我们在学习Flink的时候,到底在学习什么?
193篇文章暴揍Flink,这个合集你需要关注一下
Flink生产环境TOP难题与优化,阿里巴巴藏经阁YYDS
Flink CDC我吃定了耶稣也留不住他!| Flink CDC线上问题小盘点
我们在学习Spark的时候,到底在学习什么?
在所有Spark模块中,我愿称SparkSQL为最强!
硬刚Hive | 4万字基础调优面试小总结
数据治理方法论和实践小百科全书
标签体系下的用户画像建设小指南
4万字长文 | ClickHouse基础&实践&调优全视角解析
【面试&个人成长】社招和校招的经验之谈
大数据方向另一个十年开启 |《硬刚系列》第一版完结
我写过的关于成长/面试/职场进阶的文章
当我们在学习Hive的时候在学习什么?「硬刚Hive续集」

大数据技术与架构
王知无,大数据卷王,专注大数据技术分享。
 最新文章