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

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

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

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


超音数平台框架构思 

 

根据上述大模型+OLAP  的四大解决方案进行了方案整合,以此进行框架设计并将其命名为超音数平台。大模型主要作用于自然语言与SQL  分析语句的连接与转化,OLAP引擎则作为数据存储与查询分析的核心基建。

 image.png

 

超音数平台对于业务流程如图所示,模型运转具体过程如下: 

 

用户输入问题通过 Schema  Mapper检索,判定字段是否匹配与业务知识库。

 

如若匹配则跳过大模型解析步骤,直接利用知识库中的指标计算公式触发OLAP  进行查询分析;如若不匹配则进入大模型,开启下一步判定。


 大模型首先通过人工经验判定问题复杂度,简单查询将指定OLAP引擎直接分析,复杂查询则开启语义解析形成 DSL 语句。

 

DSL 语句通过语义层进步过滤、拆解关联查询场景,生成简易单表 SQL  语句以触发OLAP 数据处理与查询加速。

 

针对需要与外部信息结合的查询场景,大模型会判断是否调用第三方插件来辅助完成查询。

image.png 某首歌曲能否在综艺节目播出为例,在经过检索匹配、语义解析后,大模型选择利用OLAP 数据查询与第三方版权行业插件结合的方式进行回答,最终呈现结果由数仓中的歌曲信息与插件判定结果构成。

 

如今,业务分析师只需要在超音数平台中定义指标含义、维度类型即可直接开展自然语言的问答交互服务。同时还可以在平台中内置插件、丰富指标市场来拓展语义解析能力,完全覆盖了业务在常规与定制化场景下的查询需求。平台基于大模型+OLAP  的模式加速业务分析效率,减少技术开发成本,向智能化、个性化、实时化的全新业务服务模式更近一步。

 

 在这里希望可以与大家分享该开源项目,让更多人体验和学习大模型构建,也欢迎感兴趣的读者们共同参与大模型开发与建设。

 

超音数开源框架: https://github.com/tencentmusic/supersonic

 

超音数平台框架演进

 

在平台构建的过程中,OLAP  引擎作为整体架构的基建对 SQL  语句处理、数据存储分析、上游应用层的查询响应等有着至关重要的作用,我们希望通过架构升级以加强大模型到OLAP  引擎的转化效率与结果输出准确性。  

 

接下来我们将对比介绍OLAP  早期架构与新一代架构在数据写入与查询两方面的差异,分享在架构演进过程中大模型+OLAP  模型优化历程,最终助力超音数平台的构建,开启新一代的数据服务模式。


 数据架构1.0

 image.png 


我们初期的业务架构如上图所示,分为处理层、分析层、应用层三部份,用户文本在进入大模型

之后解析为 SQL 语句使OLAP 开始执行任务,具体的工作原理如下: 

 

处理层:在ODS-DWD-DWS       三层中将数据整合为不同主题的标签和指标体系之后,通过DWS 调度与采集所需字段,在DWM   层将维度与指标数据加工成大宽表。

 

分析层:通过大宽表进入分析层,将数据导入Clickhouse Elasticsearch,其中Clickhosue    主要负责维度与指标两类数据的查询加速,作为分析引擎为后续提供报表开发服务; Elasticsearch     主要负责维度数据处理,作为搜索/圈选引擎。 

 

应用层:业务人员基于场景选取所需要的标签与指标,在应用层中创建数据集作为逻辑视图,同时可以二次定义衍生的标签与指标。

 

在实际业务使用中,早期架构的数据处理方式存在大宽表带来的数据延迟与存储浪费、多套组件导致架构冗余带来指标维度重复定义、学习与运维成本高等问题,具体如下: 

 

数据延迟:处理层不支持部分列表更新,DWS  层数据写入产生延迟后会造成大宽表的延迟,进而导致数据时效性下降。

 

  运维成本高: 在处理层大宽表中维度数据量平均占一张大宽表的50%,且在大部份情况下变化缓慢,这意味着每一张宽表的开发会将维度数据叠加,造成存储资源浪费、维护成本增加在分析层中存在多引擎使用问题,查询SQL 语句需要同时适配 Clickhouse Elasticsearch两个组件,增加人力成本,且两套组件也会加大运维难度,运维成本进一步升高。 

 

架构冗余:在应用层进行指标与维度定义时,导致相同数据会进行多次定义使各种指标、维度定义口径不一致,造成权限不可控,例如上图所示的T1  (标签)M1  (维度)在应用层中,被不同数据集多次定义。

 

数据架构2.0 

 

基于以上问题,我们开始对架构进行改造升级,并在众多 OLAP  引擎中选择了Apache  Doris

替换原有组件,主要因为Apache Doris 具备以下核心优势

 

实时导入:  Apache  Doris 能够支持海量业务数据的高吞吐实时写入,时效性可以做到秒级

完成导入。

 

引擎统一:支持 Multi-Catalog 功能,能够通过 Elasticsearch Catalog 外表查询,实现查询出口统一,查询层架构实现链路极简,维护成本也大幅降低。 

 

查询分析性能:Apache Doris MPP  架构,支持大表分布式 Join, 其倒排索引、物化视图、行列混存等功能使查询分析性能更加高效极速。 image.png 

在数据架构2.0版本中,数据架构保留处理层部份,主要升级分析层架构,并进行语义层叠加: 


分析层:引入Apache  Doris  替换 Clickhouse  组件,利用 Doris  Elasticsearch    Catalog

功能对 Elasticsearch    外表进行查询,实现查询出口统一; 

 

语义层:应用层不再需要创建数据集视图,直接通过语义层获取指标与标签内容执行查询任务,有效解决标签与指标口径问题。

 

数据架构3.0

 

由于宽表开发过程中,维度数据一般变化较小、字符存储空间较大,且分析查询一般只需要查询最新的维度数据。在这种情况下,如果不断叠加维度数据制作宽表,会造成存储空间浪费的问题,同时查询响应速度也受到影响。

 image.png

 

 为了进一步提升架构性能,数据架构3.0主要将处理层中大宽表进行拆分,同时将分析层统一使

Apache  Doris 作为查询分析引擎:

 

 处理层:按照业务分类在 DWM  中将大宽表拆分成缓慢维度表与指标表,使两类表在本地

Hive  中进行关联,通过Hive  导入Apache    Doris 分析层中加速任务;

 

 分析层:将关联数据表直接导入 Apache Doris 中,结合语义层暴露指标与维度以实现语义

统一,用户只需要通过过滤条件就能够直接查询数据,得到所需要的结果。

 

数据架构4.0 

 image.png

 

 我们延续了3.0架构中分析层统一的优势,对处理层、分析层、语义层架构进一步优化,使查询

性能显著提升:

 

分析层+处理层:数仓 DWD 层数据采用 Rollup 功能使事实表与维度表实时关联并创建多个视图进入 DWS 中。通过这种方式,分析层与处理层中的各类指标数据无需再重复定义,能够基于Apache Doris 全部写入新建的 Rollup 视图中并利用 GROUP   BY 将维度传入视图进行查询加速,直接对外暴露所需数据。

 

语义层:利用 Apache  Doris 物化视图对指标与维度自定义口径,通过语义物化层进行查询加速,并将指标与维度通过SUM  加工开发衍生标签与维度数据。

 

应用层:利用Apache  Doris  2.0 版本的倒排索引功能,对现有的索引结构进行丰富,满足了对知识库进行模糊查询、等值查询和范围查询等场景中的能力,进一步加速指标、维度查询响应速度。 

 

数仓架构基于Apache Doris迭代升级,最终实现导入实时、引擎统一、查询高效的现代化湖仓 OLAP  引擎,简化架构链路的同时,有效解决大宽表中指标重复定义所带来的问题。在架构演进的过程,我们也积累许多关于Apache Doris 性能优化经验,希望分享给读者们带来一些参考。


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

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

相关实践学习
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 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 版本持续升级改进,同时在湖仓一体、异步物化视图、半结构化数据管理、查询优化器、执行引擎、存储管理、以及权限管理等方面完成了若干修复。欢迎大家下载使用。
|
24天前
|
存储 人工智能 大数据
The Past, Present and Future of Apache Flink
本文整理自阿里云开源大数据负责人王峰(莫问)在 Flink Forward Asia 2024 上海站主论坛开场的分享,今年正值 Flink 开源项目诞生的第 10 周年,借此时机,王峰回顾了 Flink 在过去 10 年的发展历程以及 Flink社区当前最新的技术成果,最后展望下一个十年 Flink 路向何方。
312 33
The Past, Present and Future of Apache Flink
|
3月前
|
SQL Java API
Apache Flink 2.0-preview released
Apache Flink 社区正积极筹备 Flink 2.0 的发布,这是自 Flink 1.0 发布以来的首个重大更新。Flink 2.0 将引入多项激动人心的功能和改进,包括存算分离状态管理、物化表、批作业自适应执行等,同时也包含了一些不兼容的变更。目前提供的预览版旨在让用户提前尝试新功能并收集反馈,但不建议在生产环境中使用。
890 13
Apache Flink 2.0-preview released
|
3月前
|
存储 缓存 算法
分布式锁服务深度解析:以Apache Flink的Checkpointing机制为例
【10月更文挑战第7天】在分布式系统中,多个进程或节点可能需要同时访问和操作共享资源。为了确保数据的一致性和系统的稳定性,我们需要一种机制来协调这些进程或节点的访问,避免并发冲突和竞态条件。分布式锁服务正是为此而生的一种解决方案。它通过在网络环境中实现锁机制,确保同一时间只有一个进程或节点能够访问和操作共享资源。
113 3

推荐镜像

更多