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

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 Tair(兼容Redis),内存型 2GB
简介: 带你读《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 
相关文章
|
8天前
|
SQL 缓存 数据处理
数据无界、湖仓无界,Apache Doris 湖仓一体典型场景实战指南(下篇)
Apache Doris 提出“数据无界”和“湖仓无界”理念,提供高效的数据管理方案。本文聚焦三个典型应用场景:湖仓分析加速、多源联邦分析、湖仓数据处理,深入介绍 Apache Doris 的最佳实践,帮助企业快速响应业务需求,提升数据处理和分析效率
数据无界、湖仓无界,Apache Doris 湖仓一体典型场景实战指南(下篇)
|
10天前
|
存储 SQL 数据挖掘
数据无界、湖仓无界, Apache Doris 湖仓一体解决方案全面解读(上篇)
湖仓一体架构融合了数据湖的低成本、高扩展性,以及数据仓库的高性能、强数据治理能力,高效应对大数据时代的挑战。为助力企业实现湖仓一体的建设,Apache Doris 提出了数据无界和湖仓无界核心理念,并结合自身特性,助力企业加速从 0 到 1 构建湖仓体系,降低转型过程中的风险和成本。本文将对湖仓一体演进及 Apache Doris 湖仓一体方案进行介绍。
数据无界、湖仓无界, Apache Doris 湖仓一体解决方案全面解读(上篇)
|
15天前
|
存储 运维 监控
从 ClickHouse 到 Apache Doris:在网易云音乐日增万亿日志数据场景下的落地
日志数据已成为企业洞察系统状态、监控网络安全及分析业务动态的宝贵资源。网易云音乐引入 Apache Doris 作为日志库新方案,替换了 ClickHouse。解决了 ClickHouse 运维复杂、不支持倒排索引的问题。目前已经稳定运行 3 个季度,规模达到 50 台服务器, 倒排索引将全文检索性能提升7倍,2PB 数据,每天新增日志量超过万亿条,峰值写入吞吐 6GB/s 。
从 ClickHouse 到 Apache Doris:在网易云音乐日增万亿日志数据场景下的落地
|
3天前
|
存储 分布式数据库 Apache
小米基于 Apache Paimon 的流式湖仓实践
本文整理自Flink Forward Asia 2024流式湖仓专场分享,由计算平台软件研发工程师钟宇江主讲。内容涵盖三部分:1)背景介绍,分析当前实时湖仓架构(如Flink + Talos + Iceberg)的痛点,包括高成本、复杂性和存储冗余;2)基于Paimon构建近实时数据湖仓,介绍其LSM存储结构及应用场景,如Partial-Update和Streaming Upsert,显著降低计算和存储成本,简化架构;3)未来展望,探讨Paimon在流计算中的进一步应用及自动化维护服务的建设。
小米基于 Apache Paimon 的流式湖仓实践
|
2月前
|
存储 运维 监控
金融场景 PB 级大规模日志平台:中信银行信用卡中心从 Elasticsearch 到 Apache Doris 的先进实践
中信银行信用卡中心每日新增日志数据 140 亿条(80TB),全量归档日志量超 40PB,早期基于 Elasticsearch 构建的日志云平台,面临存储成本高、实时写入性能差、文本检索慢以及日志分析能力不足等问题。因此使用 Apache Doris 替换 Elasticsearch,实现资源投入降低 50%、查询速度提升 2~4 倍,同时显著提高了运维效率。
金融场景 PB 级大规模日志平台:中信银行信用卡中心从 Elasticsearch 到 Apache Doris 的先进实践
|
2月前
|
SQL 存储 分布式计算
Apache Doris 2.1.8 版本正式发布
该版本持续在湖仓一体、异步物化视图、查询优化器与执行引擎、存储管理等方面进行改进提升与问题修复,进一步加强系统的性能和稳定性,欢迎大家下载体验。
|
Java 应用服务中间件 Apache
Apache 与tomcat实现分布式应用部署
一:原理 tomcat是一个web应用服务器,能够解析静态文件和动态文件(如:html、jsp、servlet等);apache是一个web server,能够解析静态文件。Tomcat作为一个独立的web服务器是可以使用的,但是它对静态文件的解析能力不如apache,所以就产生现在的web应用的分布式部署,apache+tomcat。 两者之间的通信通过workers配置(由tomc
2187 0
|
3月前
|
存储 人工智能 大数据
The Past, Present and Future of Apache Flink
本文整理自阿里云开源大数据负责人王峰(莫问)在 Flink Forward Asia 2024 上海站主论坛开场的分享,今年正值 Flink 开源项目诞生的第 10 周年,借此时机,王峰回顾了 Flink 在过去 10 年的发展历程以及 Flink社区当前最新的技术成果,最后展望下一个十年 Flink 路向何方。
414 33
The Past, Present and Future of Apache Flink
|
5月前
|
SQL Java API
Apache Flink 2.0-preview released
Apache Flink 社区正积极筹备 Flink 2.0 的发布,这是自 Flink 1.0 发布以来的首个重大更新。Flink 2.0 将引入多项激动人心的功能和改进,包括存算分离状态管理、物化表、批作业自适应执行等,同时也包含了一些不兼容的变更。目前提供的预览版旨在让用户提前尝试新功能并收集反馈,但不建议在生产环境中使用。
1058 13
Apache Flink 2.0-preview released
|
5月前
|
存储 缓存 算法
分布式锁服务深度解析:以Apache Flink的Checkpointing机制为例
【10月更文挑战第7天】在分布式系统中,多个进程或节点可能需要同时访问和操作共享资源。为了确保数据的一致性和系统的稳定性,我们需要一种机制来协调这些进程或节点的访问,避免并发冲突和竞态条件。分布式锁服务正是为此而生的一种解决方案。它通过在网络环境中实现锁机制,确保同一时间只有一个进程或节点能够访问和操作共享资源。
184 3

推荐镜像

更多