海通证券全栈自主可控企业级数据仓库研究与实践
王洪涛 许红涛 李素 于鹏 吴保杰 蔚赵春
海通证券股份有限公司 软件开发中心
摘要
作为行业金融科技的探索者和先行者,为应对“数智时代”的挑战,海通证券积极探索开源和分布式新技术的创新应用,成功上线新一代企业级分布式数据仓库系统,成为行业内首家实现企业级数据仓库全栈自主可控的证券公司。本文主要介绍了海通证券新一代全栈自主可控企业级数据仓库的架构设计、重要组成模块、核心技术特征、数据应用以及展望。
一、概述
随着社会经济与资本市场的不断发展,证券市场可交易标的类型和数量都飞速增长,与此有关的数据量也快速增加;同时,随着市场监管越来越严,机构投资者比重不断上升,如何快速准确地处理海量数据并从中得到有价值的信息,这是证券公司数字化转型要解决的难题之一。此外,证券业务的不断发展,证券公司之间的竞争也日益激烈,如何应用数据争取到新的客户,提高自身的市场占有率;如何应用数据尽可能挽留已有客户防止客源的流失;这些都已经成为证券公司急需解决的问题。因此,建设新一代企业级数据仓库,实现全栈自主可控,全面加强数据的完整性、准确性、一致性,实现企业级海量数据的集中与共享,将企业中的数据转化为知识,为高层管理和决策提供强有力的依据,提高公司的经营决策效率和水平,增强核心竞争力,是企业数字化转型的必然选择。
海通证券始终紧跟科技的发展浪潮和行业趋势,早在2012年就基于国外厂商一体机建设了数据仓库。然而一体机在架构和并行处理上受限,而且定制化的硬件具有成本高、性能容量无法按需扩展等局限性,越来越难以满足业务创新发展和精细化管理需要。作为行业金融科技的探索者和先行者,为应对“数智时代”的挑战,海通证券不断加大研发投入,积极探索对开源和分布式技术的创新应用,成功上线基于“TaiShan服务器 + GaussDB OLAP分布式数据库”的新一代企业级分布式数据仓库系统,成为业内首家实现企业级数据仓库全栈自主可控的证券公司,不仅改变了行业数据仓库长期依赖国外品牌的局面,还将对证券行业重要信息系统实现全栈自主可控起到示范作用。
二、原有数据仓库概述
2.1 总体架构
海通证券原有数据仓库系统建于2012年,基于某国外厂商一体机实现,构建了基础层、汇总层、应用层三层分立的数据仓库模型架构,陆续为风险管理平台、营销服务平台、决策分析平台、交易类系统、营销类系统等公司重要系统提供数据支持,同时为经纪业务、融资融券、国际业务、资管业务、自营业务、投行业务、高端客户、驾驶舱等多个业务条线提供了报表和数据分析支持。
图1:原有数据仓库总体架构图
2.2 面临的挑战
数据仓库作为公司的“数据心脏”,对公司的信息系统起到承上启下的核心数据交换枢纽作用。经过多年的发展,原有的数据仓库系统负载已经很重,而后续建设的数据集市、智能账户、报表与分析平台、人工智能平台、e海智信、e海通行等项目都对后台数据仓库提出了高性能、高并发、易扩展的要求。因此,原有的数据仓库已越来越难以满足业务创新发展和精细化管理需要,主要痛点如下:
(一)一体机封闭架构无法满足公司自主可控的科技发展战略:一体机集中封闭架构导致并行处理受限和性能容量无法按需扩展,而且定制化的硬件成本高,和目前主流的开放架构相悖,无法满足公司“统一管理、自主可控、融合业务、引领发展”的科技发展战略。
(二)存储容量扩展困难不能满足数据量爆发式增长:随着业务的发展和公司数字化转型推进,积累的数据量和业务数据分析需求呈现爆发式增长趋势,原有数据仓库在存储容量、查询速度、构建性能、并发能力等方面已无法满足公司对海量数据进行灵活高效分析和应用的需要。
(三)数据仓库需求响应周期长无法应对数据分析需求剧增:原有数据仓库系统在数据开发、ETL过程、任务调度、数据质量等方面缺乏公共脚本规范和基础工具支撑,使得需要针对不同业务需求提供不同的解决方案,造成人力资源浪费,需求响应周期也比较长,无法快速响应业务创新发展需求。
三、新一代全栈自主可控企业级数据仓库
3.1全栈自主可控架构
海通证券新一代企业级数据仓库践行数据发展战略,采用“TaiShan服务器+Euler操作系统+GaussDB OLAP分布式数据库”的全栈自主可控解决方案,打造高性能、低成本、可扩展、易运维的分布式企业级数据仓库,实现从软硬件基础设施到应用系统的全栈自主可控,赋能公司数字化转型进程,其总体逻辑架构如下图2。
图2:新一代企业级数据仓库总体架构图
3.1.1数据来源层
数据源是数据仓库的数据源头,主要分为内部数据和外部数据。数据来源从现有各业务系统数据入手,从母公司延伸到集团分支机构及子公司,从业务数据到各种衍生数据,从一般性数据到独辟蹊径的“暗数据”,从结构化数据扩展到非结构化数据,从公司内部数据外延到互联网、数据供应商等外部数据。
3.1.2数据汇聚层
数据汇聚是数据仓库数据接入的入口,核心是全面及时地收集“初数据”。数据仓库本身几乎不产生数据,所有数据来自于业务系统、外部数据来源等,这些数据分散在不同的网络环境和存储平台中,且数据格式和质量千差万别,数据汇聚需要屏蔽这些差别,为数据仓库提供统一的、标准的数据。数据汇聚的方式有数据库同步、数据抽取、网络爬虫、文件交换等。随着数据汇聚的需求越来越多,传统低效的数据汇聚任务手工开发方式已无法满足系统发展需要。因此,公司自研了兼容结构化及非结构化数据配置化的数据汇聚任务快速开发平台,开发平台具备以下特点:
(一)多样化的数据汇聚配置能力,兼容多种通用数据格式(如json、xml等),支持不同数据库源的上游系统转化为传统的Datastage采集模式及开源的DataX采集模式,并能自动生成下游数据库所需的数据定义语句,保证了上下游表结构的一致性;
(二)实现了对Oracle、SQLserver、Mysql、DB2等传统数据库和HIVE/HBASE/Gaussdb 等新型主流数据库的无缝对接;
(三)具备可视化快速配置能力,提供图形化的开发和维护界面,支持图形化拖拽式及流程式低代码开发模式,减少代码编写,降低开发难度,大幅提升数据汇聚需求响应的时效;
(四)具备数据抽取与转换策略的配置化能力;
(五)具备数据服务异常自动检测能力。证券公司信息系统大都由外部厂商开发,和数据仓库平台对接过程中如何与上游数据结构保持一致一直是一个痛点,通过数据汇聚任务快速开发平台准实时的刷新源系统的元数据信息,及时获取元数据异动信息来快速的生成配置信息有效解决了这一难题。
3.1.3数据加载层
数据仓库需要对内外部数据融汇贯通,形成统一完整的数据资产,高效的数据加载工具是企业级数据仓库ETL过程中必不可少的关键环节。新一代数据仓库采用并行Bulk Load工具GDS,可分布式部署在多个服务器,每台服务器上数据可并发多线程高速导入,每天可以完成数百TB的数据导入。GDS工具利用数据仓库集群并行数据导入能力,平衡了网络、CPU、IO的资源占用,实现了20+MB/DN/s 的数据导入速度,且随着集群规模的扩展,导入性能非线性提升。同时可设置错误表记录导入过程中存在的问题和容忍的错误记录数,满足不同精确度的数据加载场景。
3.1.4数据存储计算层
数据存储层实现了贴源数据、基础模型、轻度汇聚和公共维度,并按照业务领域建立了数据集市和数据应用,实现对数据资产的统一管理。数据存储计算层不仅要处理“初数据”,更要借助金融科技“粗加工”形成“新数据”和“精数据”。例如,应用人工智能技术手段将非结构化数据转变为以特征变量为基础的结构化数据就是“新数据”。“精数据”是指融合金融知识形成市场、风险、运营、财务等领域指标的数据,便于业务人员认知并在业务运营及决策中发挥作用。下面对重要部分进行介绍:
贴源数据(ODS):各源系统数据保留区,负责保存数据接入时点后历史变更数据。
基础模型(EDW):整合后的业务过程明细数据,按主题域划分,构建数据标准;基础模型层具备高可读性、高扩展性、有效保留各类数据历史、高业务兼容性等特点。
轻度汇总(DDW):对共性维度指标数据进行轻度聚合,形成公共指标体系;轻度汇总层面向分析主题设计维度数据模型,可灵活、高效地支持各应用功能需求。
数据集市(DM):面向业务定制的应用数据,主要有客户集市、财务集市、风险集市、运营集市、自营集市等。
3.1.5数据接口层
数据接口层是数据仓库支撑后台数据应用的服务窗口,是数据仓库价值的展现,是否有方便、快捷、高效的数据接口层是数据仓库系统的关键。新一代数据仓库配套标准的REST格式的数据服务API接口和规范的格式化文件交换接口,能够满足不同的数据应用场景。
数据服务API接口打通数据后台的多源异构数据,为业务前台的应用系统提供统一、标准、规范的即时数据服务,让数据复用而非复制,实现数据标准与统一、数据共享和服务能力共享。数据文件交换则解决数据应用需要对数据进行个性化的二次加工场景下的大数据量交换。数据接口层还配套了完善的运行监控预警、数据接口血缘分析、数据接口统计分析及可视大屏功能。
为了推广数据服务API接口的使用,为业务前台各应用系统和场景提供快速响应的数据服务,降低后台的数据文件推送,减少数据搬运,公司自主研发了数据服务API接口管理系统,融合数据仓库、大数据平台、图谱数据等基础数据,提供即时查询服务。数据服务API通过企业服务总线ESB服务各应用系统,目前,已应用在报表平台、对账单、开户、CRM等核心系统中,逐步替换并解决了原始的数据搬运和推送模式,便利了数据的复杂交互场景,有效地发挥了数据价值。
图3:新一代企业级数据仓库数据服务API接口监控
3.1.6数据应用层
数据应用分为两个层面,第一层面是业务数字化,包括数字化营销、数字化风控、数字化管理、数字化投研、数字化运营等。第二层面是数字业务化,探索数据驱动业务转型,利用数据创造新的业务模式,实现新的运营模式。数据应用依赖于数据意识、全局意识和回馈意识,形成使用、反馈、评价、优化的闭环。数据应用需要深刻理解数据多样性和相关性,深挖业务场景。例如客户画像除了赋能精准营销外,还可为客户管理、经纪业务营销、投行营销、财富管理营销等全领域赋能。数据应用综合使用“新数据”、“精数据”与“初数据”,将数据应用水平提升到更高的层级,真正做到数据应用的“学习历史,描述现在,感知未来”。
3.2 核心技术特点
新一代企业级分布式数据仓库采用全并行计算、行列混存、向量化执行等技术,实现千万级数据关联分析秒级响应;同时在架构设计上实现全组件高可用,避免了单节点故障,保障业务的连续性。
3.2.1开放分布式架构支持业务创新发展
新一代企业级数据仓库软硬件架构采用开放的Share-Nothing架构,实现性能与容量的按需横向扩展,支撑业务高速发展而快速扩张的数据需求,满足数据集市、e海通行、e海通财、对账单、报表分析、合规风控等核心数据应用要求;基于鲲鹏生态的全系统组件实现高可用,不仅数据与计算节点分布式部署,且协调节点为多活架构,确保整个系统架构无单节点故障隐患,最大程度保障业务数据安全。通过“GaussDB全并行计算 + 行列混存”的特性,能够适配如交易明细查询、合规风控、智能账户分析等复杂应用场景,实现千万级数据关联分析查询秒级响应,满足Ad-hoc报表业务需求。
3.2.2打造数据分析的卓越性能体验
新一代企业级数据仓库底层使用基于鲲鹏920处理器的TaiShan服务器,利用其64多核CPU、CPU指令集深度优化等特性,通过智能优化器提高内核执行算子的并行度,最大程度支持GaussDB OLAP分布式数据库的全并行数据处理任务,系统性能大幅提升。以原数据仓库性能消耗最大的智能账户分析为例,数据分析时间由原先的2.5小时缩短至60分钟左右。此外,利用GaussDBOLAP分布式数据库的SQL On Anywhere特性,整合结构化、非结构化、半结构化数据统一进行存储和加工处理,直接访问异构数据平台文件系统上的结构化数据,并对其进行复杂查询分析,消除数据孤岛,支持PB级数据和秒级数据处理,实现了融合的数据湖架构。
3.3 分布式统一调度
数据仓库的建设和数据抽取、转换、装载(ETL)是密不可分的,其上承载着成千上万甚至几十万的ETL任务调度,这些任务形态各异,其间关系错综复杂。目前开源调度软件大都仅提供核心的任务调度功能,辅助的任务开发、任务关系组织、任务状态维护等诸多能力都比较欠缺,二次开发的工作量依旧巨大。商用调度软件虽然成熟稳定,但是一方面不能完全自主掌控,一旦出现问题,难以应急;另一方面,数据仓库批量作业关系复杂,批处理个性化需求较多,商业软件很难及时满足各种需求。因此,从自主可控和快速响应业务需求方面考虑,公司自主研发了基于微服务架构的分布式统一调度系统。
图4:新一代企业级数据仓库分布式统一调度系统
分布式统一调度系统成为提高数据仓库开发效率和服务能力的关键,除了完成各种复杂的任务调度外,还提供了任务开发、任务关系组织、任务状态维护、任务监控、任务治理、服务监控、日志下载等诸多能力。即使在任务调度执行中出现错误的情况下,任务能够完成自我恢复,同时能够查询到执行错误告警与完整的日志。
分布式统一调度系统按照功能划分微服务,职责清晰而松耦合,采用消息队列的交互机制,微服务实现无状态化,服务之间通过消息进行通讯,具有良好的扩展性、稳定性、容错性、异步、并发等特点。在系统架构上分为web 服务、接口触发服务、任务控制服务、任务下发服务、任务状态监测服务、异常处理服务、主机健康监控服务、任务实例触发事件监听服务等主要微服务。
作为调度系统的源头,如何保证作业发布的高效性、规范性,实现自动作业发布和回退,提高发布效率,是调度系统的关键管理功能之一。分布式统一调度系统实现了一套高效的作业自动发布流程,大大简化了作业的上线升级流程。
图5:新一代企业级数据仓库调度系统任务发布流程图
3.4 建设效果
相比于原有数据仓库,新一代企业级数据仓库系统性能整体提升约30%,功耗降低约30%,5年整体TCO预计可降低15%左右。下图6通过对数据仓库中性能消耗较大的数据仓库模型批量、对账单分析和智能账户场景分析的批量性能进行比较,新一代企业级数据仓库性能提升明显。
图6:数据仓库批量性能对比图
新一代数据仓库系统整体性能的提升,使得海量数据批量处理的时间大幅缩短,实现了更加快速的客户数据分析,满足了客户服务、风险合规、运营管理、财务管理以及监管报送等应用系统对数据时效性、准确性的要求;同时利用架构升级支持容量弹性扩展,更好支持业务更长时间跨度的数据分析需求;通过数据有效聚合,建立以客户为维度的海量标签体系和资产视图等数据应用,例如智能账户、对账单、客户画像等,这些数据应用赋能公司“以客户为中心”的发展战略,为客户提供了更为便捷的服务和更为贴心的用户体验,从而提升了服务质量。
四、总结
新一代全栈自主可控企业级数据仓库的成功投产,改变了证券行业数据仓库系统长期依赖国外品牌的局面,是响应国家数字新基建和信息技术应用创新的重要举措,还将对证券行业重要信息系统实现自主可控起到示范作用。采用“TaiShan服务器 + Euler操作系统 + GaussDB OLAP分布式数据库”的全栈自主可控的解决方案,对底层代码完全自主可控,替换国外数据库产品,避免核心技术的绑定,从软件与硬件、性能和效率、短期应用的战术最优化和长远发展的战略最优化多个角度实现了整体全面提升。此外,通过本次新一代数据仓库技术平台转型升级工作公司锻炼了一批能打硬仗的分布式数据库方面的人才。
数据作为企业重要的资产,让数据资产围绕业务价值创造的目标更好地流动、加工、分析、应用,最终产生效益和价值,这是新一代企业级数据仓库建设的出发点和落脚点。展望未来,我们会一直秉承“集团化、国际化、信息化”的发展战略,围绕“1+3+N”大数据战略(1是指大数据平台,3是指数据管控平台、报表与分析平台、人工智能平台,N是指大数据平台技术输出到业务的应用场景),持续加强在数据中台方面的投入,持续加强数据应用并发挥数据价值,不断深化在客户服务、运营管理、风险合规和财务管理等业务领域的数据应用,全面赋能公司业务创新发展和数字化转型,为行业金融科技创新贡献更多范例。
五、参考文献
[1] 王洪涛. 发力数据中台,打造智慧海通[J]. 金融电子化, 2020.
[2] 范明,孟晓峰译. 数据挖掘:概念与技术[M]. 北京:机械工业出版社, 2012.
[3] [美]William,H.Inmon著, 王志海等译. 数据仓库[M].北京:机械工业出版社,2019.
[4] 华为公司.华为数据之道:企业数据治理方法与实践[M]. 2020.
声明:本文来自证券信息技术研发中心,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。