带你读《Apache Doris 案例集》—— 02 河北幸福消费金融基于Apache Doris 构建实时数仓,查询提速400倍!(1)

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 Tair(兼容Redis),内存型 2GB
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
简介: 带你读《Apache Doris 案例集》—— 02 河北幸福消费金融基于Apache Doris 构建实时数仓,查询提速400倍!(1)

作者:河北幸福消费金融信息科技部

 

导读: 随着河北幸福消费金融的客户数量和放贷金额持续上升,如何依托大数据、数据分析等技术来提供更好决策支持、提高工作效率和用户体验,成为当前亟需解决的问题。基于此,公司决定搭建数据中台,从基于TDH的离线数仓再到基于Apache Doris的实时数仓,最终统一了数据出口,提升了数据质量,并实现查询速度400倍的提升。本文将详细为大家分享河北幸福消费金融数据中台搭建经验和应用实践,希望为其他企业带来有益的参考。 

 

河北幸福消费金融股份有限公司由张家口银行发起设立,是2017 6 月正式开业的全国第22家、河北省首家消费金融公司,主要面向个人客户发放最高额不超过20万元的普惠、小额、信用消费贷款。目前公司服务区域覆盖全国32个省级单位,相继获评为国家科学技术部认定的全国高新技术企业、河北省科技型中小企业和石家庄市科技小巨人企业。

 

随着客户数量和放贷金额持续上升,如何依托大数据、数据分析等技术,为各业务线人员提供更好的决策支持,如何提高工作效率、为客户提供更佳的使用体验,成为了当前亟需解决的问题。具体需求如下:

 

高管看板类:搭建高管驾驶舱帮助高层快速了解公司当前的整体经营状况,驾驶舱集成全业务线数据,包括实时业务指标和离线业务指标,在该场景下我们希望查询结果可以在毫秒内返回,便于管理层进行高效决策。 

 

实时变量类:为给风控决策提供实时支撑,需在500ms 内返回全产品线查询结果,并可基于申请、授信、关联人、逾期以及还款等基础信息,计算产品级、客户级和借据级高维度衍生变量。 

 

决策分析类:为给各业务部门提供业务分析和决策支撑,需在秒级返回年、季、月多维度的主题报表,特别是风险部门,需要从放款开始回溯全生命周期的运营情况;而计财部门,则需要通过以往经营数据表现,预测未来的盈利,数据量大且逻辑复杂。 

 

风险建模类:提供全量、明细级的数据,用于风险建模的变量跑批,满足对客户评分评级,参与审批、授信等核心业务的要求,以支持业务指标的观测、投入产出分析、变量筛选以及决策制定等业务需求。

 

监管合规类:为确保业务符合相关法律法规、行业标准等规范,需要根据监管合规的要求进行合规子系统的定期上报,上报的数据分为指标汇总项数据和明细数据。

 

为了满足不同业务线对数据分析的需求,公司开始搭建数据中台并对其进行优化。最初,公司基于商业化产品TDH 搭建了离线数仓,以满足基本数据分析需求。然而,随着数据时效性的提高和实时分析需求增加,公司迫切需要搭建一款实时数据仓库。因此引入了Apache Doris并在此基础上搭建了实时数仓,最终建立了一个高效、稳定的数据中台。本文将详细为大家分享河北幸福消费金融数据中台搭建经验和应用实践,希望为其他企业带来一些有益的参考。 

 

基于TDH  的离线数仓 

 

因早期主要解决离线分析需求,优先基于 TDH 集群建设离线数仓。通过 SqoopDataX  将上游

数据采集到离线数仓,经过标准化数据清洗,完成数仓日常跑批。离线数仓架构图如下所示:

image.png

 

 随着数据的积累和业务人员对数据时效的要求越来越高,基于 TDH  离线平台的一些问题逐渐显现出来:

 

数据采集同步时效慢:离线数仓抽数工具依赖于SqoopDataX 等组件,而受限于调度周期,此类工具采集的数据必然有滞后性。

 

资源冲突大:离线数仓每日跑批时间跨度大,一般从凌晨到下午5点左右,这将导致跑批和即席查询之间发生资源冲突,影响业务人员的使用体验。

 

查询分析慢:在使用离线平台进行自定义统计分析和数据探索时,查询分析响应速度慢、时效性难以保障,严重影响工作效率。

 

●T+1 延迟高:各业务线对实时数据处理的需求在逐渐增多, T+1 的数据已经无法适应数据快速获取和产生业务价值的诉求。 

 

报表定制周期长:报表定制化开发有固定的迭代周期,难以满足业务人员对数据的灵活多样的分析探索。 

 

烟囱效应:定期上报数据时,数据中台需要从多个业务系统中拉取数据。当业务系统发生变更后,会波及上述相关的报送子系统,形成烟囱效应。

 

 技术选型 

 

为了解决上述问题,我们迫切需要一款 MPP   引擎来构建实时数仓。对于新引擎我们有几个基本的要求:首先,需要简单易上手,以便团队快速掌握和使用;其次,需要具备强大的数据导入能力,以便快速高效地导入海量数据;同时,需要兼容离线数仓相关工具,以便与现有的数据处理工具和技术体系无缝衔接;此外,搭建和切换成本也需要低,以便快速部署使用和进行扩缩容;最后,它需要具备较好的并发能力和优异的查询性能,以便支持高并发、复杂查询等业务场景的需求。

 

在以上选型要求驱动下,我们对目前比较流行的 ClickHouse  Doris 进行了系统的调研,其中Apache Doris更符合我们的选型的要求,具体原因如下:

 

部署成本低: Doris采用分布式技术架构,部署只需两个进程,不依赖其他系统,在线集群扩缩容,自动副本修复,部署及使用成本较低。

 

快速上手使用:Doris采用主流的分区分桶设计思路,索引结构与 MySQL  的思路类似,相关  人员在使用Doris  时无需学习大量的新知识。相比之下,ClickHouse在建库建表需要分别指定类型,使用流程相对比较繁琐,上手难度也比较高。

 

工具兼容:业务人员通常使用 TDH  的客户端工具WaterDrop   进行离线数仓查询, Doris 过标准协议链接可完美兼容WaterDrop,  ClickHouse 无法兼容。

 

数据生态圈丰富: Doris 数据生态圈丰富,与 FlinkKafka 等组件结合度较高,同时支持联邦查询,提供了丰富的数据导入和接入方式,可以满足多场景下的数据处理需求。 

 

高并发能力:我们对 Doris 进行了性能压力测试,在高并发和大数据量的情况下,Doris 现出较好的性能和稳定性,能够满足不同业务场景的需求。 

 

社区活跃度高:Doris 社区非常活跃,有大量的开发者和用户参与其中,提供了丰富的技术支持和解决方案。同时 Doris 社区提供了全面的文档和资料,方便用户学习和使DorisSelectDB 为社区提供了一支全职专业的技术团队为社区用户提供服务与支持,任何问题均可得到快速响应。 

 

 基于Doris 的实时数据仓库 

 

在离线数仓的基础上,使用 Doris  结合CDH  Airflow  集群搭建了实时数仓,实时数仓的数据来源主要为离线数仓和 MySQL,  使用 Flink CDC 结合 PyFlink (使用 Python 调用 Flink API, PyFlink) MySQL  中的数据实时地采集到核心计算引擎Doris (后文将详细介绍 ) ,    Airflow 分布式调度系统,可以将实时任务进行常规化的调度运维。我们对 Doris引擎进行了基本数仓分层,数据经过各层处理后统一为各场景提供数据服务。 

 image.png

基于 Doris提供的丰富导入方式,我们可以快速将离线数仓中的实时数据清洗整合接入到Doris集群中,实现数据的快速迁移。目前我们已经将基于TDH的查询分析和数据探索服务全部转移Doris  引擎上,借助 Doris引擎快速计算的能力和优异的查询性能,可以更高效地进行数据处理和分析,业务处理速度和效率得到显著提升。

 

以某 SQL 为例,该 SQL 主要应用在信贷审批场景。我们对比了原有架构和新架构从十万、千 万,亿级别的三个大表 Join 查询返回速度。结果显示,在过去TDH架构中执行查询需要1130秒才可返回结果,而基于Doris   的新架构中仅需要1.7即可返回结果,速度提升400 

 

数据规模: image.png

 

原有离线数仓:需要1130秒才可返回结果  image.png 

 基于Doris的新数仓:优化查询平均返回时间仅需1.7秒,有时甚至可以1秒内返回。

image.png


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

带你读《Apache Doris 案例集》—— 02 河北幸福消费金融基于Apache Doris 构建实时数仓,查询提速400倍!(2):https://developer.aliyun.com/article/1405773


相关实践学习
基于Hologres轻松玩转一站式实时仓库
本场景介绍如何利用阿里云MaxCompute、实时计算Flink和交互式分析服务Hologres开发离线、实时数据融合分析的数据大屏应用。
相关文章
|
18天前
|
存储 SQL Apache
Apache Doris 开源最顶级基于MPP架构的高性能实时分析数据库
Apache Doris 是一个基于 MPP 架构的高性能实时分析数据库,以其极高的速度和易用性著称。它支持高并发点查询和复杂分析场景,适用于报表分析、即席查询、数据仓库和数据湖查询加速等。最新发布的 2.0.2 版本在性能、稳定性和多租户支持方面有显著提升。社区活跃,已广泛应用于电商、广告、用户行为分析等领域。
Apache Doris 开源最顶级基于MPP架构的高性能实时分析数据库
|
6天前
|
SQL 存储 数据处理
兼顾高性能与低成本,浅析 Apache Doris 异步物化视图原理及典型场景
Apache Doris 物化视图进行了支持。**早期版本中,Doris 支持同步物化视图;从 2.1 版本开始,正式引入异步物化视图,[并在 3.0 版本中完善了这一功能](https://www.selectdb.com/blog/1058)。**
|
13天前
|
SQL 存储 Java
Apache Doris 2.1.7 版本正式发布
亲爱的社区小伙伴们,**Apache Doris 2.1.7 版本已于 2024 年 11 月 10 日正式发布。**2.1.7 版本持续升级改进,同时在湖仓一体、异步物化视图、半结构化数据管理、查询优化器、执行引擎、存储管理、以及权限管理等方面完成了若干修复。欢迎大家下载使用。
|
19天前
|
监控 Cloud Native BI
8+ 典型分析场景,25+ 标杆案例,Apache Doris 和 SelectDB 精选案例集(2024版)电子版上线
飞轮科技正式推出 Apache Doris 和 SelectDB 精选案例集 ——《走向现代化的数据仓库(2024 版)》,汇聚了来自各行各业的成功案例与实践经验。该书以行业为划分标准,辅以使用场景标签,旨在为读者提供一个高度整合、全面涵盖、分类清晰且易于查阅的学习资源库。
|
1月前
|
人工智能 自然语言处理 关系型数据库
阿里云云原生数据仓库 AnalyticDB PostgreSQL 版已完成和开源LLMOps平台Dify官方集成
近日,阿里云云原生数据仓库 AnalyticDB PostgreSQL 版已完成和开源LLMOps平台Dify官方集成。
|
1月前
|
人工智能 分布式计算 数据管理
阿里云位居 IDC MarketScape 中国实时湖仓评估领导者类别
国际数据公司( IDC )首次发布了《IDC MarketScape: 中国实时湖仓市场 2024 年厂商评估》,阿里云在首次报告发布即位居领导者类别。
|
4月前
|
数据采集 运维 Cloud Native
Flink+Paimon在阿里云大数据云原生运维数仓的实践
构建实时云原生运维数仓以提升大数据集群的运维能力,采用 Flink+Paimon 方案,解决资源审计、拓扑及趋势分析需求。
18511 54
Flink+Paimon在阿里云大数据云原生运维数仓的实践
|
1月前
|
SQL 分布式计算 数据挖掘
加速数据分析:阿里云Hologres在实时数仓中的应用实践
【10月更文挑战第9天】随着大数据技术的发展,企业对于数据处理和分析的需求日益增长。特别是在面对海量数据时,如何快速、准确地进行数据查询和分析成为了关键问题。阿里云Hologres作为一个高性能的实时交互式分析服务,为解决这些问题提供了强大的支持。本文将深入探讨Hologres的特点及其在实时数仓中的应用,并通过具体的代码示例来展示其实际应用。
173 0
|
2月前
|
存储 机器学习/深度学习 监控
阿里云 Hologres OLAP 解决方案评测
随着大数据时代的到来,企业面临着海量数据的挑战,如何高效地进行数据分析和决策变得尤为重要。阿里云推出的 Hologres OLAP(在线分析处理)解决方案,旨在为用户提供快速、高效的数据分析能力。本文将深入探讨 Hologres OLAP 的特点、优势以及应用场景,并针对方案的技术细节、部署指导、代码示例和数据分析需求进行评测。
129 7
|
2月前
|
运维 数据挖掘 OLAP
阿里云Hologres:一站式轻量级OLAP分析平台的全面评测
在数据驱动决策的今天,企业对高效、灵活的数据分析平台的需求日益增长。阿里云的Hologres,作为一站式实时数仓引擎,提供了强大的OLAP(在线分析处理)分析能力。本文将对Hologres进行深入评测,探讨其在多源集成、性能、易用性以及成本效益方面的表现。
128 7

推荐镜像

更多
下一篇
无影云桌面