申万宏源基于 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 多平台发布

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

有什么好用的CRM软件?2024年CRM软件排行榜最新盘点!

有什么好用的CRM软件?2024年CRM软件排行榜最新盘点! 深度对比国内外十大CRM客户管理系统软件:简道云、纷享销客、Salesforce、ZOHO、Hubspot、金蝶、用友、浪潮、红圈、Oracle。 CRM客户关系管理系统软件是企业数字化转型的重要工具&#x…

黑群晖屏蔽更新

黑群晖屏蔽更新 修改Host删除控制面板的红点和更新提示 修改Host ssh连接群晖后执行以下命令 sudo vim /etc/hosts按i键进入编辑模式 光标移动定位到最后一行后追加以下两行 127.0.0.1 update.synology.com 127.0.0.1 update7.synology.com按esc键,然后输入:wq并…

第139期 做大还是做小-Oracle名称哪些事(20240125)

数据库管理139期 2024-01-25 第139期 做大还是做小-Oracle名称哪些事(20240125)1 问题2 排查3 扩展总结 第139期 做大还是做小-Oracle名称哪些事(20240125) 作者:胖头鱼的鱼缸(尹海文) Oracle A…

linux centos 查看端口是否打开与打开端口

查看端口是否打开 talnet talnet ip 端口linux查看防火墙开放情况 firewall-cmd --list-all打开端口 其中permanent表示永久生效,public表示作用域,443/tcp表示端口和类型,执行规则的重载 firewall-cmd --zonepublic --add-port443/tcp …

MATLAB数据处理: 每种样本类型随机抽样

tn5;% 每种类型随机抽样数 indextrain[];% 训练样本序号集 for i1:typenumber index301 find(typemat i); n2length(index301); index302randperm(n2); index401index301(index302(1:tn)); indextrain[indextrain; index401]; end 该代码可以对大样…

navicat连接postgresql、人大金仓等数据库报错

navicat连接postgresql、人大金仓数据库报错问题是一个偶现的问题,需要我们特别关注: 1、客户端连接人大金仓数据库 这里注意:navicat连接postgresql、人大金仓数据库时均选择postgresql类型,因为人大金仓数据库底层和psql数据库…

Scrum敏捷研发管理全流程/scrum管理工具

Leangoo领歌是一款永久免费的专业的敏捷开发管理工具,提供端到端敏捷研发管理解决方案,涵盖敏捷需求管理、任务协同、进展跟踪、统计度量等。 Leangoo领歌上手快、实施成本低,可帮助企业快速落地敏捷,提质增效、缩短周期、加速创新…

马尔可夫预测(Python)

马尔科夫链(Markov Chains) 从一个例子入手:假设某餐厅有A,B,C三种套餐供应,每天只会是这三种中的一种,而具体是哪一种,仅取决于昨天供应的哪一种,换言之&#…

前端学习:HTTP协议、请求响应、分层解耦

HTTP协议 HTTP-概述 HTTP:Hyper Text Transfer Protocol(超文本传输协议),规定了浏览器与服务器之间数据传输的规则。如果想知道http协议的数据传输格式有哪些,可以打开浏览器,点击 F12 打开开发者工具,点击Network 来…

EIGRP实验

实验大纲 一、基本配置 1.构建网络拓扑结构图 2.路由器基本配置 3.配置PC 4.测试连通性 5.保存配置文件 二、配置EIGRP 1.查看路由表 2.配置EIGRP动态路由 3.查看路由器路由表 4.测试网络连通性 5.查看所有路由器的路由协议 6.保存配置文件 三、配置OSPF 1.配置…

vue3+naiveUI二次封装的v-model 联动输入框

根据官网说明使用 源码 <template><div class"clw-input pt-3"><n-inputref"input":value"modelValue":type"type":title"title"clearable:disabled"disabled":size"size"placeholder&…

Ansible自动化运维(三)Playbook 模式详解

&#x1f468;‍&#x1f393;博主简介 &#x1f3c5;云计算领域优质创作者   &#x1f3c5;华为云开发者社区专家博主   &#x1f3c5;阿里云开发者社区专家博主 &#x1f48a;交流社区&#xff1a;运维交流社区 欢迎大家的加入&#xff01; &#x1f40b; 希望大家多多支…

故事机手机平板等智能硬件DVT阶段可靠性测试方法

DVT是什么 DVT是设计样品验证测试评审阶段&#xff0c;这个阶段要进行全面的&#xff0c;客观的测试&#xff0c; 主要测试项目包括&#xff1a;功能测试&#xff0c;安规测试&#xff0c;性能测试&#xff0c;合规测试&#xff08;兼容性&#xff09;&#xff0c;机械测试&am…

数据结构——用Java实现二分搜索树

目录 一、树 二、二分搜索树 1.二叉树 2.二分搜索树 三、代码实现 1.树的构建 2.获取树中结点的个数 3.添加元素 4.查找元素 &#xff08;1&#xff09;查找元素是否存在 &#xff08;2&#xff09;查找最小元素 &#xff08;3&#xff09;查找最大元素 5.二分搜索…

256:vue+openlayers利用高德逆地理编码,点击地图,弹出某点坐标和地址信息

第256个 点击查看专栏目录 本示例的目的是介绍演示如何在vue+openlayers中利用高德逆地理编码,点击地图,弹出某点坐标和地址信息。这里要仔细阅读高德地图的逆编码API,同时要注意的是,这种转换在中国很好用,到了欧美国家就不好使了。 直接复制下面的 vue+openlayers源代码…

【JaveWeb教程】(30)SpringBootWeb案例之《智能学习辅助系统》的详细实现步骤与代码示例(3)员工管理的实现

目录 SpringBootWeb案例033. 员工管理3.1 分页查询3.1.1 基础分页3.1.1.1 需求分析3.1.1.2 接口文档3.1.1.3 思路分析3.1.1.4 功能开发3.1.1.5 功能测试3.1.1.6 前后端联调 3.1.2 分页插件3.1.2.1 介绍3.1.2.2 代码实现3.1.2.3 测试 3.2 分页查询(带条件)3.2.1 需求3.2.2 思路分…

vue3---inputRef.value.focus()报错Cannot read properties of null (reading ‘focus‘)

问题描述&#xff1a;点击编辑按钮&#xff0c;出现el-input框&#xff08;el-input显示隐藏通过v-if控制&#xff09; <el-input ref"inputRef" v-if"isEdit" v-model"modelName" blur"isEdit false" /> <el-button text …

大模型学习与实践笔记(十三)

将训练好的模型权重上传到 OpenXLab 方式1&#xff1a; 先将Adapter 模型权重通过scp 传到本地&#xff0c;然后网页上传 步骤1. scp 到本地 命令为&#xff1a; scp -o StrictHostKeyCheckingno -r -P *** rootssh.intern-ai.org.cn:/root/data/ e/opencv/ 步骤2&#…

为什么时序逻辑电路会落后一拍?

1、时序逻辑电路落后一拍&#xff1f; FPGA初学者可能经常听到一句话&#xff1a;“时序逻辑电路&#xff0c;或者说用 < 输出的电路会延迟&#xff08;落后&#xff09;一个时钟周期。”但在仿真过程中经常会发现不符合这一“定律”的现象–明明是在仿真时序逻辑&#xff…

C#winform上位机开发学习笔记13-串口助手显示系统时间功能添加

1.功能描述 在上位机中显示系统的实时时间 2.代码部分 步骤1&#xff1a;添加文本框控件并设置参数 #此处注意将BackColor颜色修改为非Control&#xff0c;即可正常显示ForeColor颜色&#xff0c;否则该颜色不变&#xff0c;原因暂且不明。 步骤2&#xff1a;添加timer控件…