金融实时数仓实践经验分享
The following article is from 恒生技术之眼 Author 张良友
导读
随着实时计算、实时数仓的发展以及业务需求推动,“实时”已成为行业热点,传统的离线数仓架构逐渐向实时数仓架构演进,让业务响应速度更快。那么在金融领域实时数仓的实践情况如何?如何改善关键业务成果?本文笔者将简要介绍。
实时数仓:用小数据撬动大场景
数据处理通常可以分为离线数据处理与实时数据处理。所谓实时数据处理,是在无界流且未知状态下的一种尽可能快速处理和汇总计算方式(无界流的数据必须持续处理),包括但不限于逐条处理或窗口汇总的模式,这是实时数仓的基本逻辑。实时数仓的核心技术主要包括流式聚合、流式去重、延迟处理、流式TopN(流式数据获取前N条数据)四种。在实时数据处理过程中,实时数据同步是比较重要的一个环节,关系到时效性和响应效率。
包括实时数仓在内,目前大数据有三种存在的形态:传统的数据仓库(DW,Data Warehouse)已经存在多年,研究和解决从数据库中获取信息的问题;随着新兴业务的发展,数据湖诞生了,面向未知的需求与未知的数据,能够将不同种类的数据汇聚到一起,并且不需要预定义的模型就能进行数据分析,聚焦如何让数据产生价值;近年来具有实时需求的场景不断增加,使得实时数仓这一存在形态也逐渐衍生出来,主要依托已知的需求和已知的数据,可以用小数据和小算力实现大场景,这是其与传统数仓和数据湖的不同之处,也是其优势和特点所在。
那么何为用小数据和小算力实现大业务场景?比如传统数仓基于海量的数据,经过一层层的运算及分析,最终可能会产生一个报表给到决策层,辅助决策分析,但是这一场景对金融机构来说并非核心业务。对于风控等核心业务来说,传统的大数据方式很难解决问题,而实时计算技术的发展,能够让数据深入其中,这是实时计算与实时数仓带来的主要价值。
金融领域的“实时”场景
实时数仓在金融领域的应用比较多,在经纪柜台业务中,两融实时合约表、股票质押合同表、证券行情表的日间实时变化,需要通过实时同步工具,将变化的数据发送到消息中间件,再将实时流的消费输出传到下游的数据库,支撑其业务需求;在券商资讯中心的实时流应用中,可能出现现金流表数据到达时股票基本信息表数据还未到达,而且不能确认股票基本信息表数据到达时间的情况,并且股票信息表数据虽然变更不频繁,但变更后有多张表需要跟其重新计算,涉及的运算数据量比较大,这方面实时数仓可以提供比较好的解决方式,提升时效性,实现数据秒级延迟。笔者认为,实时风控与实时营销是发展空间较大的两大场景。
实时风控
随着金融机构对风控的实时性要求越来越高,实时数仓可以在风控场景发挥较大的作用。从业务库、消息中间件,到流式计算、目标库,风控场景应用实时数仓的链条比较长,因为在任何一家金融机构风控都是核心,与风控相关联的外围系统多,数据源也多,需要考虑各种因素。实时指标通常可以包括资产总值、净利润、营业收入、经纪业务收入、新增客户数、融资融券规模、当前股票质押规模、自营规模、当前预定购回业务规模等。
以异常交易实时风控为例,传统基于数据库的风控计算速度较慢,可能导致错过最佳防范时机,通过实现低延时的实时风控监测,能够及时阻断风险持续发生。将累计成交金额较大、累计成交数量较大、上日持仓数量较大、客户成交量占期间市场成交量比例较高等作为预警项,可以监控单个客户在连续竞价期间,大额或大量成交,在短时间内造成股价大幅上涨的异常交易行为(拉抬打压)。
实时营销
在营销场景,营销数据中台体系的建设可以引入实时数仓技术,满足金融机构对高性能、高可用的诉求,推进营销主题域模型落地,为数字化营销提供数据服务支持,满足周边系统对营销业务数据和统计指标的实时数据需求。例如,一些金融机构需要对客户开户等情况进行增量、存量数据的实时联合查询,引入实时数仓可以实现查询反馈时间达到秒级;在精细化运营方面,有的金融机构需要平台具备离线与实时直销客户标签加工能力,标签结果要能对外提供检索查询服务,按照数仓规范组织各层数据,进行实时、离线标签融合,即可以保证数据的时效性,又通过双链路的标签加工保证数据的准确性,实现实时标签秒级延时,标签检索服务毫秒级响应。
恒生实时数仓实践经验分享
恒生实时数仓以实时类业务需求为核心场景,能够提供全方位低延迟实时能力,集实时数据采集、实时流计算、HTAP(Hybrid Transaction and Analytical Process,混合事务和分析处理)等全方位低延迟实时能力于一体,主要包括三大特性:流批一体,保证处理过程与结果的一致性;基于HTAP,离线数据和实时数据共同处理或共享数据源,从而来实现实时的需求;湖仓一体,数据湖、数据仓库并存。此外,在云方面,恒生实时数仓使用云原生技术方案,提供在线大数据服务,以及灵活的私有化部署方案;在智能方面,使用机器学习技术方案,提升数据价值变现能力,在数据分析、数据应用场景中提供增强服务。
从恒生在金融领域实践实时数仓的经验来看,不同业务场景的技术选型及架构会有所不同,需要进行场景分类,例如与用户行为相关的场景、实时分析类场景、实时查询类场景等。实时计算的技术选型在考虑场景的同时,还需要进行性能对比,考虑是否拥有良好的计算性能,是否可以基于内存计算框架进行实时计算;进行流式计算比较,能够支持秒级还是毫秒级计算;进行与Hadoop兼容性对比、SQL支持对比。在实时数据采集和同步方面,需要关注采集同步工具是开源的还是闭源的,如果是闭源的可能会有问题;前端的目标存储方面,也要与场景相关,比如针对时序类的数据与分析类的数据,可能需要选择不同的数据库,才能更容易落地。
随着大数据技术的发展,每个阶段的业务形态在发生变化,技术也在不断地延伸、迭代,恒生也将不断探索如何更好地为金融机构提供大数据服务。
扩展阅读:实时数仓资料已为读者朋友准备好了,点击下方公众号“数据仓库与Python大数据”后台回复“实时数仓”,转发即可下载。
回复:09,领取clickhouse资料合集
♤大数据ETL工具 Kettle 入门实践♡数据治理 | 元数据管理实践
【数据治理】:☟☟
专题系列
点击上面文字即可跳转
更多干货,请戳"阅读原文"到"合集"查看
!关注不迷路~ 各种干货、资源定期分享!