河北幸福消费金融股份有限公司是什么平台
接下来具体说说
作者 | 河北幸福消费金融 信息科技部
策划 | 李冬梅
随着河北幸福消费金融的客户数量和放贷金额持续上升,如何依托大数据、数据分析等技术来提供更好决策支持、提高工作效率和用户体验,成为了当前亟需解决的问题。基于此,公司决定搭建数据中台,从基于 TDH 的离线数仓再到基于 Apache Doris 的实时数仓,最终统一了数据出口,提升了数据质量,并实现查询速度近 400 倍的提升。本文将详细为大家分享河北幸福消费金融数据中台搭建经验和应用实践,希望为其他企业带来一些有益的参考。
河北幸福消费金融股份有限公司由张家口银行发起设立,是 2017 年 6 月正式开业的全国第 22 家、 河北省首家消费金融公司 ,主要面向个人客户发放*高额不超过 20 万元的普惠、小额、信用消费贷款。目前公司服务区域覆盖全国 32 个省级单位,相继获评为国家科学技术部认定的全国高新技术企业、河北省科技型中小企业和石家庄市科技“小巨人”企业。
随着客户数量和放贷金额持续上升,如何依托大数据、数据分析等技术,为各业务线人员提供更好的决策支持,如何提高工作效率、为客户提供更佳的使用体验,成为了当前亟需解决的问题。具体需求如下:
为了满足不同业务线对数据分析的需求,公司开始搭建数据中台并对进行优化。最初,公司基于商业化产品 TDH 搭建了离线数仓,以满足基本数据分析需求。然而,随着数据时效性的提高和实时分析需求增加,公司迫切需要搭建一款实时数据仓库。因此引入了 Apache Doris 并在此基础上搭建了实时数仓,最终建立了一个高效、稳定的数据中台。本文将详细为大家分享河北幸福消费金融数据中台搭建经验和应用实践,希望为其他企业带来一些有益的参考。
因早期主要解决的是离线分析需求,优先基于 TDH 集群建设离线数仓。通过 Sqoop、DataX 将上游数据采集到离线数仓,经过标准化数据清洗,完成数仓的日常跑批。离线数仓架构图如下所示:
随着数据积累和业务人员对数据时效的要求越来越高,基于 TDH 离线平台的一些问题逐渐显现出来:
为了解决上述问题,我们迫切需要一款 MPP 引擎来构建实时数仓。对于新引擎我们有几个基本的要求:首先,需要简单易上手,以便团队快速掌握和使用;其次,需要具备强大的数据导入能力,以便快速高效地导入海量数据;同时,需要兼容离线数仓相关工具,以便与现有的数据处理工具和技术体系无缝衔接;此外,搭建和切换成本也需要低,以便快速部署使用和进行扩缩容;最后,它需要具备较好的并发能力和优异的查询性能,以便支持高并发、复杂查询等业务场景的需求。
在以上选型要求驱动下,我们对目前比较流行的 ClickHouse 与 Doris 进行了系统的调研,其中 Apache Doris 更符合我们的选型的要求,具体原因如下:
在离线数仓的基础上,使用 Doris 结合 CDH 集群、Airflow 集群搭建了实时数仓,实时数仓的数据来源主要为离线数仓和 MySQL,使用 Flink CDC 结合 PyFlink(使用 Python 调用 Flink 的 API,简称 PyFlink)将 MySQL 中的数据实时地采集到核心计算引擎 Doris 中(后文将详细介绍),上层为 Airflow 分布式调度系统,可以将实时任务进行常规化的调度运维。我们对 Doris 引擎进行了基本数仓分层,数据经过各层处理后统一为各场景提供数据服务。
基于 Doris 提供的丰富的导入方式,我们可以快速将离线数仓中的实时数据清洗整合接入到 Doris 集群中,实现数据的快速迁移。目前我们已经将基于 TDH 的查询分析和数据探索服务全部转移到 Doris 引擎上,借助 Doris 引擎快速计算的能力和优异的查询性能,可以更高效地进行数据处理和分析,业务处理速度和效率得到显著提升。
以某 SQL 为例,该 SQL 主要应用在信贷审批场景。我们对比了原有架构和新架构从十万、千万,亿级别的三个大表中的查询返回速度。结果显示,在过去 TDH 架构中执行查询需要 11 分 30 秒 才可返回结果,而在基于 Doris 的新架构中仅需要 1.7 秒 即可返回结果, 速度提升近 400 倍 !
数据规模:
原有离线数仓:需要 11 分 30 秒 才可返回结果
基于 Doris 的新数仓:优化查询后仅需要 1.7 秒 即可返回结果,有时甚至可以 1 秒内 返回。
公司的业务系统通常是按照产品进行库划分,各个产品表结构保持一致。而实时数仓核心功能就是依靠 Doris 丰富的导入能力,将分散的库对应的相同的逻辑表归集到 Doris 下的同一个逻辑表上,汇集后的数据也能在监管主题层面进行整体调整,避免烟囱效应的发生。汇集的实时数据进入数仓后,会主动触发衍生变量的自动计算,更新衍生变量的值。而衍生变量的汇总值在一个单独的表中,当进行查询时,可以实现毫秒级别的查询响应。
在进行实时数仓归集时,首先需要确定 FlinkCDC、Flink 、Flink on Yarn、Apache Doris 等核心组件的版本号,接着基于 PyFlink 进行产品化自动接入实时数仓的建设。具体操作如下:
此外,我们还提供了标准化的接入方案和接口,以满足不同业务场景的需求。
使用步骤:
1、接入配置表:配置归集的业务库表的相关信息
2、调度系统部署:通过调度系统部署实时归集的任务
3、任务常规运维:我们对任务上线、启动、停止和异常恢复处理等功能进行了高度封装,并与分布式调度系统 Airflow 进行了深度集成和融合。使用人员不必关心底层细节,可以轻松地将 MySQL 表一键迁移到 Doris,实现存量和增量数据的自动化迁移。经沟通,社区目前已发布了 Doris-Flink-Connector 1.4.0 版本,该版本集成了 Flink CDC,可以实现了从 MySQL 等关系型数据库到 Apache Doris 的一键整库同步。
离线数仓存在各种数据质量问题,这些问题通常在数据跑批时才会暴露出来,导致数据修复时间窗口急剧被压缩。为了解决这个问题,我们利用 Doris 建立了数据质量监控系统,同时将离线数仓的数据质量监控模型迁移到 Doris 。基于该系统可以实时监控业务指标和数据质量,并在发现问题时及时进行人工干预或报警,提高离线数仓跑批的稳定性和效率。另外当实时数仓获取归集后的数据后,可通过数据质量监控系统的校验规则靠前时间对数据质量进行实时检查,保证数据归集的准确性。
目前我们已经将 30% 的数据监控指标和 35 个业务指标迁移到 Doris 实时集群上,每月可成功规避问题 3 次以上,有效提升了离线数仓跑批的数据质量。后续我们将继续将更多的数据监控指标和业务指标迁移到 Doris 集群中,以进一步提高数据处理的效率和质量。
各业务条线的核心数据存储在不同类型的数据库中,如 MySQL、Hive、ES 等。Apache Doris 1.2 版本提供的 Multi Catalog 功能可以统一数据查询出口、实现联邦查询,为数据分析提供了极大的便利。同时,借助 Doris 的持久化能力,可以通过外表的方式快速同步其他数据源数据,方便快捷。此外,通过 Apache Doris 聚合查询、向量化引擎等技术的加持, 我们真正实现了高效的数据统一门户,提高了数据分析的效率 。
随着 Doris 接入的业务量不断增加,FE 的负载也在不断增长。为了实现 Doris 的高可用性,我们增加了 FE 节点数,在多个 FE 节点上部署负载均衡层。我们选择基于 Nginx TCP 反向代理的方式来构建 FE 的负载均衡,有效地实现了 FE 角色之间的负载均衡。具体配置方式如下:
当前审批系统的业务数据持久化在关系型数据库 MySQL 中,累计总进件量将近 2.8 亿。为了应对日益*胀的的数据问题,业务系统的数据库采用了分表和数据归档的设计思路。但是在业务上,我们仍需要对全量数据进行业务查询,并且时效要求在 3 秒内返回结果。以下是查询需求的抽象分类:
为了满足以上查询场景的需求,我们将审批进件数据结合 Doris 引擎的分区分桶技术、布隆过滤器和位图索引进行合理的设计,最终整体实现了满足业务上 3 秒内 的查询效率需求。
优化策略:
分区:apply_time
分桶:ID、database_name、table_name
布隆索引:id_number, bhb_customer_id, customer_name, customer_id, serial_no
位图索引:apply_source,white_channel,approval_result,approval_status,product_type,decision_stage
基于上述查询的压测指标效果如下:
通过 Doris 提供的 Prometheus 和 Grafana 可以快速获取 Doris 集群的整体健康状况以及各个角色的多方面指标值。同时我们还将监控平台与公司统一告警平台进行二次融合,告警平台可以通过 API 获取 Prometheus 的基础指标值与阈值进行比较,从而触发不同级别的报警或者达到服务自动重启。此外,我们在 FE 和 BE 服务级别上实现任务的自动运维,确保在服务异常时能够自动拉起,保证核心服务的可用性。
Doris 已经在公司内部得到了广泛的应用,目前已搭建数十台集群规模,为公司带来了以下收益:
综上所述,Doris 在公司内部的广泛应用,为我们带来了多方面的收益,助力企业提升数据分析效率、降低数据管理成本、实现统一、实时、高效的数据中台建设,为业务向好发展注入了新的动力。
未来我们将继续扩大 Doris 的使用范围,在实时、性能、时效要求更高的业务领域发力,其次我们还将尝试使用 Doris 更多的功能及新特性,一方面深化 Doris 在公司的使用,另一方面我们会将真实的使用体验反馈到社区,帮助 Doris 进一步迭代优化。
北银消费金融有限公司
四川锦程消费金融有限责任公司
中银消费金融有限公司
捷信消费金融有限公司
兴业消费金融股份公司
海尔消费金融有限公司
招联消费金融有限公司
湖北消费金融有限公司
南银法巴消费金融有限公司
马上消费金融股份有限公司
中邮消费金融有限公司
杭银消费金融股份有限公司
浙江宁银消费金融股份有限公司
晋商消费金融股份有限公司
盛银消费金融有限公司
陕西长银消费金融有限公司
内蒙古蒙商消费金融股份有限公司
河南中原消费金融股份有限公司
湖南长银五八消费金融股份有限公司
哈尔滨哈银消费金融有限责任公司
河北幸福消费金融股份有限公司
上海尚诚消费金融股份有限公司
厦门金美信消费金融有限责任公司
中信消费金融有限公司
平安消费金融有限公司
重庆小米消费金融有限公司
北京阳光消费金融股份有限公司
重庆蚂蚁消费金融有限公司
苏银凯基消费金融有限公司
四川省唯品富邦消费金融有限公司
建信消费金融有限公司
湖南长银五八消费金融股份有限公司
哈尔滨哈银消费金融有限责任公司
河北幸福消费金融股份有限公司
上海尚诚消费金融股份有限公司
厦门金美信消费金融有限责任公司
中信消费金融有限公司
平安消费金融有限公司
重庆小米消费金融有限公司
北京阳光消费金融股份有限公司
重庆蚂蚁消费金融有限公司
苏银凯基消费金融有限公司
四川省唯品富邦消费金融有限公司
建信消费金融有限公司
这里排名没有先后,只是按照大概成立时间提供给大家,方便想进入消金公司的同学了解。
以上就是河北幸福消费金融股份有限公司是什么平台?的详细内容,希望通过阅读小编的文章之后能够有所收获!