带你读《Apache Doris 案例集》——03 Apache Doris 在金融壹账通指标中台的应用实践(2)

本文涉及的产品
云数据库 Tair(兼容Redis),内存型 2GB
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
简介: 带你读《Apache Doris 案例集》——03 Apache Doris 在金融壹账通指标中台的应用实践(2)

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

带你读《Apache Doris 案例集》——03  Apache   Doris  在金融壹账通指标中台的应用实践(1):https://developer.aliyun.com/article/1405768


一体化指标数据平台 

 

在架构升级完成后,我们可以建设统一的指标体系,通过指标内容、 BI Al 技术构建平台功

能,共同建设一体化指标数据平台。 

 

构建指标体系

 

金融壹账通借助归因关系分析帮助机构自上而下对指标进行建设,梳理核心KPI 并逐层拆建指标,保障指标体系的完整性与可落地性。根据指标生成方式,将指标类型进行细分,以银行营销场景举例,针对银行资产管理中对客户资产总值的衡量指标(AUM)   可以细分为以下三种类型:


image.png

 image.png

 

原子指标:通过数据源接入到指标平台的最细粒度指标,一般为表字段,例如AUM  额。 

 

衍生指标:为了进一步指标分析,平台自动衍生一系列指标,如AUM  同比、环比净增等。 

 

派生指标:为了满足复杂的指标分析场景,基于原子指标,添加过滤条件或者结合其他指标进行运算,帮助用户自助配置看板,节省取数过程。例如用户希望生成客均AUM  余额进行分析,平台可以借助原子指标AUM  余额与全量客户数生成该指标。 

 

构建指标平台功能

 image.png

 指标平台的功能实现主要依赖于 Apache Doris 数仓架构的支持,整体指标线上流程基于开发和业务配合完成。开发人员首先统一在平台进行元数据管理和指标录入,包括对加工报表的底表进行注册,配置中间表的数据粒度和更新频率等,接着对表进行关联、录入指标名称和指标口径信息。在输入指标基础信息之后,交由业务人员负责,选择对指标分析所需维度,对指标进行发布。

image.png 

 基于以上两个步骤,我们可以在平台中对指标数据进一步分析。如上图左侧所示,指标平台提供了各种柱状分析视图,业务人员能够可视化地查看指标排行榜看板,分析各银行分行AUM  排名情况。同时,我们融入了 Al 智能算法,借助时序模型检测指标异常,通过根因分析算法辅助KPI 检视,并分析指标异动原因。对于存量指标,平台提供了价值评分体系,能够及时下线价值低的指标,达到边使用边治理的目的。

 

基于ApacheDoris指标应用实践 

 

一体化数据平台的建设完全解决了金融壹账通在传统报表开发时指标口径不统一和指标重复计算的问题。在分析效率方面,我们希望在复杂的多表关联场景下,实现接口600毫秒响应时间、查询响应在100毫秒内的目标。因此,我们对Apache Doris 进行了测试与调优,从数据的前期准备、集群部署、模型调优三方面分享Apache   Doris在该场景下的应用实践。

 

在前期数据准备过程中,考虑到我们的数据集和官网测试的 SSB 数据集很相似,我们选择了官网推荐的开发测试环境配置,选用 Apache Doris  1.1版本进行测试。因为我们是通过 Python  Mock 数据直接生成 CSV 文件,所以我们采用 Stream Load 的方式分批导数,每次导入的CSV 文件都在Stream Load 推荐的文件大小1-10G以内,最终数据压缩比达到3:1,但单节点导入速度超过40 MB /s

 

 在集群部署过程中,为了对指标性能和服务器监控(CPUIO磁盘和内存),我们借助Prometheus导入ApacheDoris监控模版对集群部署监控,由Prometheus接收ApacheDoris暴露监控项,再借助Grafana 进行可视化呈现。 

 

在准备工作完成后即可开始进行大表关联查询,我们选择了耗时较长的 SQL  来查询指标趋势图。基于毫秒级查询目标,我们实施了两个优化解决方案。第一个方案是利用 Colocation   Join将数据在建表时提前聚合。第二个方案是借助 Audit    Loader   的方式收集高频 SQL,    反向优化数仓的表构建以及改写 SQL, 使用偏宽表设计代替之前的星型/雪花模型。通过两个方案的测试与评估,我们发现第二个方案能够在查询响应、服务资源节省中达到更加显著的收益。 

 

亿级数据多表关联查询,实现毫秒级查询响应

 

image.png

我们将SQL 查询执行时间进行了统计,如上图所示在采取方案一Colocation   Join   的方式时,查询响应时间从之前的5秒提升至1秒。虽然查询效率有所提升,但是我们希望能够更进一步缩短响应时间,完成预期目标。在采用方案二来调整数据模型后,SQL  执行时间从原来的5达到63毫秒响应时间,查询响应时间得到显著提升,满足我们对查询响应毫秒级的目标。

image.png 同时,我们借助 Grafana 查看 Apache Doris 查询性能,发现宽表构建的方案能够使查询时间从

原来的十多秒缩短至百毫秒内,服务器也不再出现抖动的情况。  

 

启用 SQL 缓存,节省服务器资源

image.png

  

采取宽表构建方案后,为了进一步提升查询性能,我们还启用了 SQL 缓存,帮助 T+1 报表场景

实现高效查询性能:

 

在启用缓存之后,基本所有查询时长都在个位数,最终达到单用户访问页面在4秒内加载的成果; 

 

30个指标同时进行时(SQL  指令超120),接口都可以满足600ms 内返回;

 

在并发场景下,最优TPS 达到300, CPU内存、磁盘和IO 满足80%以下;

 

经评估,我们发现在官网推荐的测试集群规模下, ApacheDoris都可以缓存上万指标,极大节省了资源。

 

未来规划 

 

目前,金融壹账通基于 Apache  Doris 实现了指标统一构建、查询、治理的一体化数据平台,为金融机构提供了全面的指标分析与展示,智能的指标生命周期管理等服务。在这样的平台建设下,集团内外多场景取得了非常显著的成果,截止目前,完成上万活跃指标、上千分析维度的积累,加工形成了上万个看板,减少了30%ETL 开发工作量。未来,公司将基于Apache Doris不断探索与优化,我们将重点推进以下几个方面的工作: 

 

平台实时分析:基于 Apache Doris构建湖仓一体,结合 Flink CDCApache Iceberg共同构建统一实时分析,

 

平台物化视图:期待新版本亮点,探索多表关联下的查询优化,比如构建多表物化视图。

 

●其他产品迁移:将中台其他产品迁移至 ApacheDoris。目前,标签平台基于 Elasticsearch存在一定的使用问题,未来我们也准备将该平台迁入Apache Doris。

 

在此特别感谢SelectDB技术团队和Apache Doris社区在使用过程中遇到任何问题都能及时响应,为我们降低了许多试错成本。未来,我们也会更积极参与社区贡献及活动,与社区共同进步和成长!

相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
相关文章
|
11天前
|
存储 运维 监控
金融场景 PB 级大规模日志平台:中信银行信用卡中心从 Elasticsearch 到 Apache Doris 的先进实践
中信银行信用卡中心每日新增日志数据 140 亿条(80TB),全量归档日志量超 40PB,早期基于 Elasticsearch 构建的日志云平台,面临存储成本高、实时写入性能差、文本检索慢以及日志分析能力不足等问题。因此使用 Apache Doris 替换 Elasticsearch,实现资源投入降低 50%、查询速度提升 2~4 倍,同时显著提高了运维效率。
金融场景 PB 级大规模日志平台:中信银行信用卡中心从 Elasticsearch 到 Apache Doris 的先进实践
|
8天前
|
SQL 存储 分布式计算
Apache Doris 2.1.8 版本正式发布
该版本持续在湖仓一体、异步物化视图、查询优化器与执行引擎、存储管理等方面进行改进提升与问题修复,进一步加强系统的性能和稳定性,欢迎大家下载体验。
|
29天前
|
存储 SQL 监控
计算效率提升 10 倍,存储成本降低 60%,灵犀科技基于 Apache Doris 建设统一数据服务平台
灵犀科技早期基于 Hadoop 构建大数据平台,在战略调整和需求的持续扩增下,数据处理效率、查询性能、资源成本问题随之出现。为此,引入 [Apache Doris](https://doris.apache.org/) 替换了复杂技术栈,升级为集存储、加工、服务为一体的统一架构,实现存储成本下降 60%,计算效率提升超 10 倍的显著成效。
计算效率提升 10 倍,存储成本降低 60%,灵犀科技基于 Apache Doris 建设统一数据服务平台
|
6月前
|
存储 消息中间件 Java
Apache Flink 实践问题之原生TM UI日志问题如何解决
Apache Flink 实践问题之原生TM UI日志问题如何解决
58 1
|
2月前
|
存储 人工智能 大数据
The Past, Present and Future of Apache Flink
本文整理自阿里云开源大数据负责人王峰(莫问)在 Flink Forward Asia 2024 上海站主论坛开场的分享,今年正值 Flink 开源项目诞生的第 10 周年,借此时机,王峰回顾了 Flink 在过去 10 年的发展历程以及 Flink社区当前最新的技术成果,最后展望下一个十年 Flink 路向何方。
363 33
The Past, Present and Future of Apache Flink
|
4月前
|
SQL Java API
Apache Flink 2.0-preview released
Apache Flink 社区正积极筹备 Flink 2.0 的发布,这是自 Flink 1.0 发布以来的首个重大更新。Flink 2.0 将引入多项激动人心的功能和改进,包括存算分离状态管理、物化表、批作业自适应执行等,同时也包含了一些不兼容的变更。目前提供的预览版旨在让用户提前尝试新功能并收集反馈,但不建议在生产环境中使用。
982 13
Apache Flink 2.0-preview released
|
4月前
|
存储 缓存 算法
分布式锁服务深度解析:以Apache Flink的Checkpointing机制为例
【10月更文挑战第7天】在分布式系统中,多个进程或节点可能需要同时访问和操作共享资源。为了确保数据的一致性和系统的稳定性,我们需要一种机制来协调这些进程或节点的访问,避免并发冲突和竞态条件。分布式锁服务正是为此而生的一种解决方案。它通过在网络环境中实现锁机制,确保同一时间只有一个进程或节点能够访问和操作共享资源。
160 3
|
5月前
|
SQL 消息中间件 关系型数据库
Apache Doris Flink Connector 24.0.0 版本正式发布
该版本新增了对 Flink 1.20 的支持,并支持通过 Arrow Flight SQL 高速读取 Doris 中数据。
|
6月前
|
消息中间件 监控 数据挖掘
基于RabbitMQ与Apache Flink构建实时分析系统
【8月更文第28天】本文将介绍如何利用RabbitMQ作为数据源,结合Apache Flink进行实时数据分析。我们将构建一个简单的实时分析系统,该系统能够接收来自不同来源的数据,对数据进行实时处理,并将结果输出到另一个队列或存储系统中。
351 2
|
6月前
|
消息中间件 分布式计算 Hadoop
Apache Flink 实践问题之Flume与Hadoop之间的物理墙问题如何解决
Apache Flink 实践问题之Flume与Hadoop之间的物理墙问题如何解决
74 3

推荐镜像

更多