带你读《Apache Doris 案例集》——05 当 Apache Doris 遇上大模型:探秘腾讯音乐如何 基于大模型+ OLAP 构建智能数据服务平台(3)

本文涉及的产品
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
云数据库 Tair(兼容Redis),内存型 2GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
简介: 带你读《Apache Doris 案例集》——05 当 Apache Doris 遇上大模型:探秘腾讯音乐如何 基于大模型+ OLAP 构建智能数据服务平台(3)

更多精彩内容,欢迎观看:

带你读《Apache Doris 案例集》——05 当 Apache   Doris 遇上大模型:探秘腾讯音乐如何 基于大模型+ OLAP  构建智能数据服务平台(2):https://developer.aliyun.com/article/1405739


Apach  Doris性能优化实践 

 

Colocate Join 宽表优化 

image.png

 

在上文架构改造中我们提及,由于宽表开发会不断叠加字符数据,消耗存储空间,降低查询性能,因此我们充分利用了Colocate Join 功能对宽表拆分、本地关联查询加速进行优化,具体过

程如下:

 

●指标大宽表:采用 Apache Doris Aggregate  Key 模型,使用增量的方式将数据覆盖写入;

 

缓慢维度表:主要通过start_date  end_date   的设置进行表建设,同时利用end_date   行分区,当我们需要查询最新的维度数据时只需要将 end date设置为‘9999-12-31'即可。此外我们引用 Doris 2.0版本中的写时合并,利用 Unique Key 模型进行维度数据聚合,使查询性能在该场景中得到很大的提升。

 

●对外访问视图:在指标与维度表建设完成之后,利用CREAT   VIEW 提供统一对外访问视图,同时添加 end date条件,使视图保持最新数据的展示。通过这样的方式不仅能够大幅度降低查询的复杂性,还能够充分利用 Doris 特性实现查询加速。

 

Rollup 解决指标膨胀问题

 

宽表拆分为指标表与维度表后,我们发现每一次视图产生都需要定义多个指标,出现指标膨胀的情况。以歌曲播放量结算为例,当仅定义单一指标时,我们需要将各个平台+各类内容进行排列组合,使语义层定义很多指标数据,造成指标数量过多。此外这些指标都需要通过离线生产任务进行加工,并通过 Hive 导入至Apache Doris 中,造成链路较长、加工维护比较困难。


平台指标:覆盖四大音乐平台,包括酷我、QQ 音乐、酷狗、K

内容指标:包含歌曲、歌手、专辑以及厂牌等数据

image.png

 为了有效解决指标膨胀问题,我们引入了Doris  Rollup 功能。如图所示,在 Doris  Base 表数据基础之上,可以根据指定维度来创建任意多个 Rollup 视图并自动进行 GROUP  BY,  实现各个平台与各类内容指标定义不重复、查询性能提升的目标。

 

 物化视图实现查询加速 

 image.png

 除了减少指标数量外,我们还希望能够衍生指标并且做到查询加速。Apache Doris 2.0 版本中我们采用了物化视图功能进行衍生指标的开发。目前,我们主要在单一维度表中单独地去查询自定义标签与维度,在定义复杂口径后自动的通过语义层物化任务。

 

如上图所示我们将指标 M1M2M3与维度T1T2T3分别进行定义,并通过SUM 加工衍生标签,在加工完成之后创建物化视图加速查询。此外,Doris后续2.1版本中还会支持多表创建物化视图,我们也非常期待使用该功能。

 

 Apach Doris 导入性能调优实践

 

目前,腾讯音乐具有90+数据来源表、 3000+维度和指标、导入数据量达到千亿级别,我们希望数仓能够支持大规模数据快速导入,且导入过程中保证数据写入的准确性。

 image.png 

 

导入链路如图所示,主要分为离线与实时两个部分,离线链路中指标表与变更维度表通过Spark进行批量导入,两类表利用Flink聚合形成宽表后写入;实时链路主要利用Kafak消息队列进行流式写入。最终,离线与实时两条链路利用Flink实时写入Apache Doris数仓中。

 

由于 Flink 聚合为攒批写入,如果出现写入任务失败,会导致数据丢失;同时,在聚合任务过多、字段过多的情况下存在Compaction不及时的情况,导致实时能力不可控;此外在加工宽表的过程中,也会造成重复写入的问题,无法保证数据写入准确性。 

 

Apache Doris 2.0版本发布后,我们引入了其全新功能 Flink Doris ConnectorDoris Compaction,有效解决了 Flink聚合引起的问题。

 

Flink Doris Connector 实现快写入

 

Flink Doris Connector主要是依赖Checkpoint机制进行流式写入,同时该功能默认开启两阶段提交,保证写入过程中 Exactly Once 语义。值得注意的是,我们在引入最新版的 Flink Doris Connector 功能后,实现了从关系型数据库到Apache Doris 的一键整库同步,承载了我们实际业务中千亿级别的实时并行写入,满足数据快写入与不丢不重的需求。

 

Doris  Compaction 保证写入稳定性

 

为了解决 Flink 聚合引起的偶发性Compaction 不及时问题,我们引入最新版的 Vertical CompactionSegment  Compaction功能。

 

·VerticalCompaction功能优势:在单次合并过程中,我们不需要再将所有的列读出,只需要加载部份列数据即可,这能极大减少合并过程中的内存占用问题,提高压缩的执行速度,实现在大宽表场景下的部份数据合并。 

 

· Segment   Compaction功能优势: 在单批次大数据量的导入场景下可以有效减少 Flink写入

过程中产生的Segment数量,且能够使合并和导入两个过程并行,避免增加导入时间。

image.png

 如上图所示在引入Doris Compation 功能后,在写入量增加50%的情况下,Compaction Score 从平均650分降低至80分,技术人员不再需要担心夜间出现告警的情况,保证了整体链路的稳定性。 

 

 总结收益与展望 

 

在引入 Apache Doris 后,数据架构围绕降本增效的目标,不仅在写查方面的性能得到大幅度提

升,并且有效减少架构成本与资源开销,具体的收益如下:

 

极速查询分析: 通过 Apache DorisRollup物化视图、倒排索引功能,由原来的分钟级查询时间达到现如今秒级毫秒级;

 

 

导入性能提升:导入优化完成后,原本3000+维度、指标数据的导入时间需要超过一天,现如今能够在8 小时内完成导入,导入时间缩短至原来的1/3,实现快速导入需求;更重要的是,ApacheDoris 在保证数据快写入的同时,使数据能够不丢不重、准确写入:

 

链路极简与统一:ApacheDoris将查询与分析出口引擎统一,去除 Elasticsearch 集群使架构链路极简;

 

存储成本降低:通过大宽表拆分的方式,使存储成本降低30%,开发成本降低40%

 

在未来,我们将进一步拓展使用Apache   Doris 湖仓一体功能,对Hive MySQL、数据湖等多源异构数据库进行网关统一,实现真正意义上的实时统一分析引擎。同时,尝CCR跨集群数据同步功能,通过用户多集群的数据库表自动同步以提升在线服务数据的可用性。未来,我们也将在测试环节中验证读写负载分离以及多机房备份的性能效果。

 

目前,Apache Doris 社区已经公布了后续版本中将推出的存算分离全新架构,能够利用低成本 的共享存储系统简化上层计算节点的复杂度,使架构带来巨大的成本经济优势。我们也希望能够进一步探索,基于 Apache  Doris 本地高速缓存+共享存储系统的混合模式,在保障性能的同时降低系统存储开销。

 

最后,非常感谢SelectDB 技术团队的积极响应与专业解答,希望通过这篇文章分享大语言模型在互联网业务中的应用,也欢迎更多人参与Apache Doris社区与超音数平台的开源框架构建。最后,我们也会持续参与社区活动,将相关成果贡献回馈社区,希望Apache Doris飞速发展,越来越好!

相关实践学习
AnalyticDB MySQL海量数据秒级分析体验
快速上手AnalyticDB MySQL,玩转SQL开发等功能!本教程介绍如何在AnalyticDB MySQL中,一键加载内置数据集,并基于自动生成的查询脚本,运行复杂查询语句,秒级生成查询结果。
阿里云云原生数据仓库AnalyticDB MySQL版 使用教程
云原生数据仓库AnalyticDB MySQL版是一种支持高并发低延时查询的新一代云原生数据仓库,高度兼容MySQL协议以及SQL:92、SQL:99、SQL:2003标准,可以对海量数据进行即时的多维分析透视和业务探索,快速构建企业云上数据仓库。 了解产品 https://www.aliyun.com/product/ApsaraDB/ads
相关文章
|
11天前
|
存储 SQL Apache
Apache Doris 创始人:何为“现代化”的数据仓库?
3.0 版本是 Apache Doris 研发路程中的重要里程碑,他将这一进展总结为“实时之路”、“统一之路”和“弹性之路”,详细介绍了所对应的核心特性的设计思考与应用价值,揭晓了 2025 年社区发展蓝图
Apache Doris 创始人:何为“现代化”的数据仓库?
|
13天前
|
SQL 存储 数据处理
别让你的CPU打盹儿:Apache Doris并行执行原理大揭秘!
别让你的CPU打盹儿:Apache Doris并行执行原理大揭秘!
58 1
别让你的CPU打盹儿:Apache Doris并行执行原理大揭秘!
|
3天前
|
存储 SQL 监控
计算效率提升 10 倍,存储成本降低 60%,灵犀科技基于 Apache Doris 建设统一数据服务平台
灵犀科技早期基于 Hadoop 构建大数据平台,在战略调整和需求的持续扩增下,数据处理效率、查询性能、资源成本问题随之出现。为此,引入 [Apache Doris](https://doris.apache.org/) 替换了复杂技术栈,升级为集存储、加工、服务为一体的统一架构,实现存储成本下降 60%,计算效率提升超 10 倍的显著成效。
计算效率提升 10 倍,存储成本降低 60%,灵犀科技基于 Apache Doris 建设统一数据服务平台
|
2月前
|
存储 消息中间件 分布式计算
Cisco WebEx 数据平台:统一 Trino、Pinot、Iceberg 及 Kyuubi,探索 Apache Doris 在 Cisco 的改造实践
Cisco WebEx 早期数据平台采用了多系统架构(包括 Trino、Pinot、Iceberg 、 Kyuubi 等),面临架构复杂、数据冗余存储、运维困难、资源利用率低、数据时效性差等问题。因此,引入 Apache Doris 替换了 Trino、Pinot 、 Iceberg 及 Kyuubi 技术栈,依赖于 Doris 的实时数据湖能力及高性能 OLAP 分析能力,统一数据湖仓及查询分析引擎,显著提升了查询性能及系统稳定性,同时实现资源成本降低 30%。
Cisco WebEx 数据平台:统一 Trino、Pinot、Iceberg 及 Kyuubi,探索 Apache Doris 在 Cisco 的改造实践
|
28天前
|
SQL 存储 Apache
Apache Doris 3.0.3 版本正式发布
亲爱的社区小伙伴们,Apache Doris 3.0.3 版本已于 2024 年 12 月 02 日正式发布。该版本进一步提升了系统的性能及稳定性,欢迎大家下载体验。
|
2月前
|
存储 SQL Apache
Apache Doris 开源最顶级基于MPP架构的高性能实时分析数据库
Apache Doris 是一个基于 MPP 架构的高性能实时分析数据库,以其极高的速度和易用性著称。它支持高并发点查询和复杂分析场景,适用于报表分析、即席查询、数据仓库和数据湖查询加速等。最新发布的 2.0.2 版本在性能、稳定性和多租户支持方面有显著提升。社区活跃,已广泛应用于电商、广告、用户行为分析等领域。
Apache Doris 开源最顶级基于MPP架构的高性能实时分析数据库
|
2月前
|
消息中间件 Java Kafka
Spring Boot 与 Apache Kafka 集成详解:构建高效消息驱动应用
Spring Boot 与 Apache Kafka 集成详解:构建高效消息驱动应用
58 1
|
2月前
|
SQL 存储 数据处理
兼顾高性能与低成本,浅析 Apache Doris 异步物化视图原理及典型场景
Apache Doris 物化视图进行了支持。**早期版本中,Doris 支持同步物化视图;从 2.1 版本开始,正式引入异步物化视图,[并在 3.0 版本中完善了这一功能](https://www.selectdb.com/blog/1058)。**
|
2月前
|
SQL 存储 Java
Apache Doris 2.1.7 版本正式发布
亲爱的社区小伙伴们,**Apache Doris 2.1.7 版本已于 2024 年 11 月 10 日正式发布。**2.1.7 版本持续升级改进,同时在湖仓一体、异步物化视图、半结构化数据管理、查询优化器、执行引擎、存储管理、以及权限管理等方面完成了若干修复。欢迎大家下载使用。
|
2月前
|
监控 Cloud Native BI
8+ 典型分析场景,25+ 标杆案例,Apache Doris 和 SelectDB 精选案例集(2024版)电子版上线
飞轮科技正式推出 Apache Doris 和 SelectDB 精选案例集 ——《走向现代化的数据仓库(2024 版)》,汇聚了来自各行各业的成功案例与实践经验。该书以行业为划分标准,辅以使用场景标签,旨在为读者提供一个高度整合、全面涵盖、分类清晰且易于查阅的学习资源库。

推荐镜像

更多