申万宏源基于 StarRocks 构建实时数仓

作者 :申万宏源证券 实时数仓项目组

小编导读:

申万宏源证券有限公司是由新中国第一家股份制证券公司——申银万国证券股份有限公司与国内资本市场第一家上市证券公司——宏源证券股份有限公司,于 2015 年 1 月 16 日合并组建而成,是国家主权财富基金——中国投资有限责任公司的直管企业。

申万宏源证券有限公司发挥着“投资控股集团+证券子公司”的双层架构优势,为企业集团、个人投资者、专业机构投资者、金融同业机构及政府客户提供以资本市场为核心的全产业链综合金融服务。

当前,证券行业对数据的时效性、多样性和灵活性提出了更高的要求,为了解决实时数仓的挑战,申万宏源于 2023 年引入 StarRocks 对实时数仓整体架构进行了新的设计,目前基于 StarRocks 构建的实时数仓已经在申万宏源的财富管理类、投资研究类和风险管理类等多个场景中得到应用。

背景与挑战

在数字化转型背景下,证券行业面临着许多机遇,金融科技的业务范围和业务管理能力升级,创新和应用能力也在业务中不断深化。

随着实时报表、实时大屏、实时营销和实时风控等场景深入,证券行业对数据的时效性、多样性和灵活性提出了更高的要求,客户与证券公司、投资与市场运行的每个触点都需要被数字化、实时化,这一进程的推动也给技术层带来了挑战。

alt

数据挑战

随着交易系统的引入,证券行业已经完全数字化,数据量达到了 PB 级别,数据实时写入吞吐量高,且对于查询延时敏感。

同时证券行业拥有大量基于不同技术栈的业务系统,涉及结构化、半结构化和非结构化的多源异构数据,数据处理过程复杂。另外,数据分析过程是累积的、批量的,数据处理过程则是流式的,需要进行统一重构。

业务挑战

鉴于近期市场结构性行情中波段较短的特征,要求运营从策划到开发上线,要在有效时间内交付,这对于敏捷研发的要求是极高的。业务方出于对时效性、准确性及性价比的考量,传统数仓往往采用 T+1 的模式处理数据,无法满足数据实时性的要求。

为了应对这些挑战,需要实时或准实时数据技术予以支撑。申万宏源证券对以实时为中心的技术架构提出诉求,旨在建设数据端到端低延迟、高效率、快速响应、实时跟进、对源系统无侵扰为目的的实时数仓。

实时数仓技术探索

为了解决实时数仓的挑战,申万宏源经历了复杂的实时数仓技术探索过程。在选择实时数仓技术架构时,证券机构不光要考虑开源可控,也要考虑是否有商业厂商做技术支撑。

alt

2021 年起,团队开始密切关注 StarRocks 技术栈。StarRocks 有着领先的技术实力,例如流批一体(可以融合实时和离线的数据)、部分列更新能力、丰富的数据模型、物化视图、高性能和更高并发的能力,同时,也有商业化公司镜舟科技,作为厂商提供长期企业级技术服务。经过深入调研,在完成了 PoC 后,最终购买引入了基于 StarRocks 开发的企业版产品镜舟数据库。

alt

引入 StarRocks 后,申万宏源对整体架构进行新的设计。对于大部分数据的处理速度要求不高的数据全部使用 StarRocks 来处理。对于对数据延迟要求极高的一小部分场景则不让数据落地,通过 Flink 来实时处理,直接送到下游系统。

与传统数仓不同,实时数仓往往会设计较多分层。在实际操作中,申万宏源更倾向于只设立一层物理层。这样,所有历史数据在进入后都可以在这里沉淀,并且得益于这种沉淀,上层的应用不再是一次性的,而是可以复用的,这完全符合实时数仓的理念,在物理层之上封装逻辑视图,让业务面向逻辑视图进行数据分析和应用开发,实现数据驱动业务的基础。

典型应用场景实践

目前,基于 StarRocks 构建的实时数仓,在申万宏源的财富管理类、投资研究类和风险管理类等多个场景中得到应用。

金融商城理财产品断点购买召回服务

在金融商城中,理财产品的断点购买召回是一个常见的运营场景。在引入 StarRocks 之前,申万宏源需要将业务系统的数据采集到 Impala 中,处理完成后再加载到 HBase 中,同时也需要将实时链路的数据导入 HBase。然而,HBase 以键值对查询的形式存在,其查询分析的灵活性有限。

alt

基于 StarRocks 的强大性能,申万宏源实现了非常高效的查询响应,对下游服务提供秒级响应。对于有购买行为但是没有交易委托数据的意向客户,业务端可以快速获取数据并及时响应,第一时间对客户进行召回,客户购买的转化率高达 20%左右。

私募基金购买行为全流程数据监控

金融市场瞬息万变,滞后一秒都可能带来天差地别的结果。由于证券自身的业务特点以及外部监管“零容忍”等,让金融市场需要更实时的信息系统,来确保信息的准确度和及时性。

alt

业务上遇到的查询挑战在于全链路、各环节数据都存放在不同的表中,查询复杂度高。例如,私募基金涉及风险偏好、风险承受能力等多表关联的丰富数据。StarRocks 提供了非常优秀的查询性能,相较之前的产品查询性能提高了 5 倍以上。在 StarRocks 的加持下,业务分析人员可以轻松地实现快速、准确查询,为精准判断市场趋势提供有力支持。

全域赋能实时数据集市

在证券公司的 MPP+Hadoop 体系中,包含了数据仓库、数据中台和若干数据集市,其中:资管业务、固收业务、金创业务、风控业务等不同业务都有其独立的数据集市。

alt

当分析师对投资交易类数据进行分析时,往往需要借助实时的行情数据。对于机构的中后台部门的风险管理报表或者监管报表应用场景,可以接受秒级延迟。引入 StarRocks 库后,通过与数据集市的融合,行情数据得以沉淀,为投资交易类的数据分析提供支持。

资管产品图谱及风险传导模型

近几年来,资产管理已成为券商的重点业务,也是营收增长的主要驱动力。

在进行资产产品管控过程中,需要接入和处理舆情数据,来及时对上下游资产的价格或估值作出评估。例如,某地区受到大规模自然灾害导致农作物减产,从而引起价格上涨,而以此为原材料的投资标可能也会受到影响,形成风险传导。

alt

这类业务场景的特点是并发不高但逻辑复杂,过去申万宏源使用 Hive 和知识图谱来处理,而现在可以在不需要进行预计算情况下,直接使用 StarRocks 通过多表关联来实时查询。

结语

随着互联网时代高速发展,申万宏源紧跟市场变化作出前沿思考,与StarRocks 和镜舟科技一起,共同探索和建设出更加统一、高性能的数据生态,实现申万宏源内部分析场景和面向消费服务场景的融合,申万宏源通过数据架构优化升级,为多个业务场景的运营和应用带来显著提速,赋能业务高效增长和发展。

本文由 mdnice 多平台发布

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/346860.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【若依】关于对象查询list返回,进行业务处理以后的分页问题

1、查询对象Jglkq返回 list,对 list 进行业务处理后返回,但分页出现问题。 /*** 嫁功率考勤查询*/RequiresPermissions("hr:kq:list")PostMapping("/list")ResponseBodypublic TableDataInfo list(Jglkq jglkq) throws ParseExcepti…

简单高效 Learn LaTeX 009 - LaTex Cite Notes (30 mins) 引用与注释

这一集里介绍了对文献引用的表示方法,和添加注释文本的方法: https://www.ixigua.com/7298100920137548288?id7304342671428944403&logTag495628805c8329a41ffa

JVM系列-6.java垃圾回收

👏作者简介:大家好,我是爱吃芝士的土豆倪,24届校招生Java选手,很高兴认识大家📕系列专栏:Spring原理、JUC原理、Kafka原理、分布式技术原理、数据库技术、JVM原理🔥如果感觉博主的文…

PyTorch深度学习实战(32)——DCGAN详解与实现

PyTorch深度学习实战(32)——DCGAN详解与实现 0. 前言1. 模型与数据集分析1.1 模型分析1.2 数据集介绍 2. 构建 DCGAN 生成人脸图像小结系列链接 0. 前言 DCGAN (Deep Convolutional Generative Adversarial Networks) 是基于生成对抗网络 (Convolution…

香港代理IP为何受欢迎?

香港代理IP深受用户欢迎的原因主要有以下几点: 1,地理位置优势:香港位于亚洲的中心地带,与中国大陆、东南亚和其他亚洲国家都有良好的网络连接。这使得使用香港代理IP可以实现较快的网络连接速度和较低的延迟,特别是对…

架构篇24:排除架构可用性隐患的利器-FMEA方法

文章目录 FMEA 介绍FMEA 方法FMEA 实战小结 前面的专栏分析高可用复杂度的时候提出了一个问题:高可用和高性能哪个更复杂,根据墨菲定律“可能出错的事情最终都会出错”,架构隐患总有一天会导致系统故障。因此,我们在进行架构设计的…

shopee的AI学习之路——GPTs通过AdInteli 广告变现

GPTs|AdInteli 广告变现 一、什么是 AdInteli AdIntelli 是一个旨在为生成 GPTs 接入广告并实现变现的平台。它连接了全球最大的广告联盟,允许广告商进行竞价,确保展示最有价值的广告。AdIntelli 采用 AI 驱动的收入生成技术,优化广告选择。…

【github】使用github action 拉取国外docker镜像

使用github action 拉取国外docker镜像 k8s部署经常用到国外镜像,如果本地无法拉取可以考虑使用github action环境 github action的ci服务器在国外,不受中国防火墙影响github action 自带docker命令运行时直接将你仓库代码拉取下来 步骤 你的国内dock…

SAP PO平台配置

多个系统分配 : XPATH : /p1:mt_ERP_ZSSF_HFM_001/sapClient SPACE : p1 http://lstech.com/erp/IF0523/ZSSF_HFM_001

qml与C++的交互

qml端使用C对象类型、qml端调用C函数/c端调用qml端函数、qml端发信号-连接C端槽函数、C端发信号-连接qml端函数等。 代码资源下载: https://download.csdn.net/download/TianYanRen111/88779433 若无法下载,直接拷贝以下代码测试即可。 main.cpp #incl…

HDMI之ALLM

概述 ALLM(Auto Low-latency Mode)即自动低延迟模式,在自动低延迟模式下智能电视的用户不用根据电视播放的内容手动来切换低延迟模式,而会根据电视播放的内容自动启用或者禁用低延迟模式。这里的启用或者禁用低延迟功能通常是信号源设备控制的(如游戏设备 Xbox One,或 PS5…

LIMS源码,实验室信息系统源码,后端框架:asp.net

LIMS(laboratory information management system)即实验室信息管理系统是实验室管理科学发展的成果,是实验室管理科学与现代信息技术结合的产物,是利用计算机网络技术、数据存储技术、快速数据处理技术等,对实验室进行全方位管理的计算机软件…

66.Spring是如何整合MyBatis将Mapper接口注册为Bean的原理?

原理 首先MyBatis的Mapper接口核心是JDK动态代理 Spring会排除接口,无法注册到IOC容器中 MyBatis 实现了BeanDefinitionRegistryPostProcessor 可以动态注册BeanDefinition 需要自定义扫描器(继承Spring内部扫描器ClassPathBeanDefinitionScanner ) 重…

微信小程序如何自定义单选和多选

实现单选 实现效果&#xff1a;点击显示单选状态&#xff0c;每次仅能点击一个元素。 实现方式&#xff1a; wxml&#xff1a; <view wx:for"{{item_list}}" data-info"{{index}}" class"{{menu_indexindex?choose:no_choose}}" bind:ta…

【Linux】shell外壳和权限

文章目录 shell外壳用户切换权限 shell外壳 什么是shell外壳呢&#xff1f;首先我们应该知道&#xff0c;用户和操作系统内核是不能直接接触的&#xff0c;因为首先操作系统本身就很难去操作&#xff0c;另一方面也是为了操作系统安全考虑&#xff0c;不能让用户直接去操作内核…

Matlab图像处理——谷物颗粒计数

针对目前谷物人工计数和光电计数方法存在的不足 , 提出了一种基于 Matlab 图像识别和处理技术的谷物计数方法 , 并用实例验证了其可靠性。该方法减轻了操作者劳动强度 , 弥补了人视觉的不足之处 , 提高了效率及准确率 , 为今后进一步研究奠定了必要的理论与实践基础 , 对完善“…

有趣的数学 了解TensorFlow的自动微分的实现

一、简述 这里主要介绍了TensorFlow的自动微分(autodiff)功能如何工作,以及与其他解决方案的比较。假设您定义了一个函数,并且需要计算它的偏导数和,通常用于执行梯度下降(或某些其他优化算法)。可用的主要选择是手动微分、有限差分近似、正向模式自动微分和反向模式自动…

uniapp微信小程序图片上传功能实现,页面显示文件列表、删除功能

uniapp小程序图片上传功能效果预览 一、template 页面结构 <view class"upload-box"><view class"upload-list"><view class"upload-item" v-for"(item,index) of fileList" :keyindex><image class"img…

SMD NTC Thermistor NTC热敏电阻在锂电池充放电中的作用(NYFEA徕飞)

热敏电阻器&#xff08;Thermistor&#xff09;是一种电阻值对温度极为灵敏的半导体元件&#xff0c;温度系数可分为正温度系数热敏电阻PTC和负温度系数热敏电阻NTC。 NTC热敏电阻用于温度测量&#xff0c;温度控制&#xff0c;温度补偿等&#xff0c;称为温度传感器。 PTC热…