当前位置: 首页 > news >正文

金融用户实践|分布式存储支持数据仓库业务系统性能验证

作者:深耕行业的 SmartX 金融团队 闫海涛

估值是指对资产或负债的价值进行评估的过程,这对于投资决策具有重要意义。每个金融公司资管业务人员都期望能够实现实时的业务估值,快速获取最新的数据和指标,从而做出更明智的投资决策。

为了更好地实现实时估值,某金融客户使用 SmartX 分布式块存储产品 SMTX ZBS 进行系统性能优化探索,并与本地硬盘环境进行了对比测试。本文将重点分享客户在估值业务系统效率提升方向上所做的探索工作,希望能够给读者一些启发。

测试背景


估值系统

金融公司资产管理(资管)业务中的估值系统在投资决策和客户报告等方面扮演着关键角色。通过计算和确定投资组合中各种资产(如股票、债券、衍生品等)的净值或市值,估值系统可帮助基金管理人员了解投资组合的价值和表现。

估值系统通常涉及以下方面的任务:

  • 市场数据采集:估值系统需要从各种金融市场和数据供应商获取实时或延迟的市场数据,如股票价格、债券收益率、外汇汇率等。这些数据对于计算投资组合的净值至关重要。
  • 资产估值:估值系统使用不同的定价模型来估计投资组合中各种资产的价值。这可能涉及到股票、债券、期货、期权等不同类型的资产,每种资产可能都需要不同的估值方法。
  • 价格验证:估值系统需要确保所使用的市场数据和定价模型是准确的和可靠的。因此,价格验证是确保数据正确性的重要步骤。
  • 交易处理:如果投资组合中有新的交易,估值系统需要记录这些交易并对其进行适当的估值调整,以反映最新的投资组合价值。
  • 计算净值:估值系统会根据资产的估值计算基金的净值。基金的净值是指基金资产减去负债后的剩余价值,即每份基金份额的价值。
  • 报告生成:估值系统还可以生成各种报告,供基金管理人员、投资者和监管机构使用。这些报告可能包括基金的净值报告、投资组合构成、风险分析等。

正因如此,基金公司的估值系统在确保投资组合价值准确性、支持投资决策以及满足监管和报告要求方面起着关键作用。


客户需求

实时估值是客户的终极期望,即能够快速地获取最新的数据和指标,并快速地完成估值核算。实现实时估值的主要影响因素有两个:市场行情和交易数据的导入时效性,和估值核算过程中的系统性能。

其中,市场行情和交易数据导入的时效性主要由外部因素决定,客户难以控制。而估值核算环节由客户自建系统实现,通常采用物理服务器和全闪存储的方式进行支撑。该种方式硬件和运维成本高昂,同时随着估值数据的不断增长,很难满足估值系统高性能和高容量的需求,容易出现性能瓶颈、容量扩展困难等问题。这些问题会导致估值系统跑批时间过长、数据落地延迟,从而影响业务效率和质量。

为了解决这些问题,客户计划使用 SMTX ZBS(基于裸金属服务器)进行估值系统效率优化,并与“裸金属服务器 + 本地硬盘”环境进行对比测试,验证估值系统核算跑批性能优化情况。

测试环境


SMTX ZBS

01finance-valuation-test.png

SMTX ZBS 是 SmartX 自研的软件定义分布式存储系统,它能够为裸金属服务器、VMware 虚拟化等通用计算平台提供高效、可靠、灵活的存储服务。

  • 高性能:SMTX ZBS 利用 SSD 设备作为缓存,提高数据读写速度;支持超融合架构,将计算和存储集成在同一台服务器上,减少网络延迟;采用条带化技术,将连续的数据分散到不同的硬盘上,提高并行度和吞吐量。
  • 高可靠:SMTX ZBS 通过多副本机制,保证数据在不同的节点上有冗余备份,防止数据丢失;采用强一致性写,保证数据在所有副本上保持一致;支持快照、克隆、回滚等数据保护功能,方便数据恢复和备份。
  • 低消耗:SMTX ZBS 兼容商用服务器,无特殊硬件需求;存储仅占用有限的计算资源,避免额外购置存储服务器;支持精简置备、压缩、去重等空间优化功能,节省存储空间。
  • 横向弹性扩展:SMTX ZBS 支持动态增加或减少节点,实现性能和容量的同步线性扩展;单集群最大可支持 255 个节点。
  • 易于集成:SMTX ZBS 提供标准的 iSCSI 和 NVMe-oF 块存储接口和完整的 RESTful API 支持;支持主流的虚拟化和云平台以及 Kubernetes 和裸金属计算平台。


测试基本信息

测试拓扑

02finance-valuation-test.png


估值数据库系统当前环境运行配置

03finance-valuation-test.png


测试硬件配置

04finance-valuation-test.png

估值系统核算跑批测试


测试结果

这个测试是为了验证 SMTX ZBS 支撑估值业务系统的效果。我们使用了客户提供的估值业务系统,模拟了估值核算业务逻辑的跑批过程,并记录了完成跑批产品数量、总产品数量和跑批时间等指标。

我们分别在服务器本地磁盘和基于 SMTX ZBS 分布式存储 iSCSI、 NVM-oF 不同存储协议下三种环境进行了测试。

测试结果显示,对同等总数量的产品进行估值核算,分布式存储 iSCSI 和 NVM-oF 在跑批时间上都明显优于服务器本地磁盘的方式(时间缩短近 50%),而且完成跑批产品数量也更多。具体的数据如下:

05finance-valuation-test.png


场景探索结论

通过测试比较可以看到,使用 SMTX ZBS 能够显著提升估值核算效率。与服务器本地磁盘相比,分布式存储环境下的跑批时间缩短近 50%,完成核算数量更多。这对于快速生成投资者报告、加速投资分析决策具有重要意义。

同时,SMTX ZBS 的分布式架构还能够有效应对未来容量和性能的扩展需求,服务器硬件在运维管理方面也变得更简单和通用。

综上所述,在金融公司资产管理业务中使用 SMTX ZBS 来支撑估值系统,可以帮助客户获得更好的性能和业务优势,提升核算效率、加速报告生成,并增强整体业务效率。

更多金融行业场景探索

此外,基于 SmartX 超融合对 NVMe 闪存的优化, SmartX 还帮助某基金公司数据中心业务系统(包括 CISP 估值)进行性能提升验证测试。验证结果表明,相比于生产环境,测试环境下 CISP 估值数据落地单任务跑批时间缩短 85%,多任务跑批时间缩短 82%。欲了解测试详情,请阅读:某基金公司数据中心业务系统超融合平台优化验证。

SmartX 还联合多家来自银行、保险、证券、基金、期货、资管等金融细分行业的头部企业,针对超融合在更多核心业务系统、数据库、IT 基础架构云化转型与信创转型等场景下的表现,开展全方位评测,并将长时间积累下来的分析报告汇总成电子书《金融核心生产业务场景探索文章合集》,供用户免费下载、随时参考。

相关文章:

金融用户实践|分布式存储支持数据仓库业务系统性能验证

作者:深耕行业的 SmartX 金融团队 闫海涛 估值是指对资产或负债的价值进行评估的过程,这对于投资决策具有重要意义。每个金融公司资管业务人员都期望能够实现实时的业务估值,快速获取最新的数据和指标,从而做出更明智的投资决策。…...

代码随想录二刷 Day41

509. 斐波那契数 这个题简单入门&#xff0c;注意下N小于等于1的情况就可以 class Solution { public:int fib(int n) {if (n < 1) return n; //这句不写的话test能过但是另外的过不了vector<int> result(n 1); //定义存放dp结果的数组&#xff0c;还要定义大小r…...

C++项目实战——基于多设计模式下的同步异步日志系统-⑪-日志器管理类与全局建造者类设计(单例模式)

文章目录 专栏导读日志器建造者类完善单例日志器管理类设计思想单例日志器管理类设计全局建造者类设计日志器类、建造者类整理日志器管理类测试 专栏导读 &#x1f338;作者简介&#xff1a;花想云 &#xff0c;在读本科生一枚&#xff0c;C/C领域新星创作者&#xff0c;新星计…...

Hadoop3教程(十四):MapReduce中的排序

文章目录 &#xff08;99&#xff09;WritableComparable排序什么是排序什么时候需要排序排序有哪些分类如何实现自定义排序 &#xff08;100&#xff09;全排序案例案例需求思路分析实际代码 &#xff08;101&#xff09;二次排序案例&#xff08;102&#xff09; 区内排序案例…...

测试需要写测试用例吗?

如何理解软件的质量 我们都知道&#xff0c;一个软件从无到有要经过需求设计、编码实现、测试验证、部署发布这四个主要环节。 需求来源于用户反馈、市场调研或者商业判断。意指在市场行为中&#xff0c;部分人群存在某些诉求或痛点&#xff0c;只要想办法满足这些人群的诉求…...

Qt 视口和窗口的区别

视口和窗口 绘图设备的物理坐标是基本的坐标系&#xff0c;通过QPainter的平移、旋转等变换可以得到更容易操作的逻辑坐标 为了实现更方便的坐标&#xff0c;QPainter还提供了视口(Viewport)和窗口(Window)坐标系&#xff0c;通过QPainter内部的坐标变换矩阵自动转换为绘图设…...

使用Git将GitHub仓库下载到本地

前记&#xff1a; git svn sourcetree gitee github gitlab gitblit gitbucket gitolite gogs 版本控制 | 仓库管理 ---- 系列工程笔记. Platform&#xff1a;Windows 10 Git version&#xff1a;git version 2.32.0.windows.1 Function&#xff1a;使用Git将GitHub仓库下载…...

前端需要了解的浏览器缓存知识

文章目录 前言为什么需要缓存&#xff1f;DNS缓存缓存读写顺序缓存位置memory cache&#xff08;浏览器本地缓存&#xff09;disk cache&#xff08;硬盘缓存&#xff09;重点&#xff01;&#xff01;&#xff01; 缓存策略 - 强缓存和协商缓存1&#xff09;强缓存ExpiresCach…...

自动驾驶:控制算法概述

自动驾驶&#xff1a;控制算法概述 常见控制算法PID算法LQR算法MPC算法 自动驾驶控制算法横向控制纵向控制 参考文献 常见控制算法 PID算法 PID&#xff08;Proportional-Integral-Derivative&#xff09;控制是一种经典的反馈控制算法&#xff0c;通常用于稳定性和响应速度要…...

【Mysql】Mysql的字符集和比较规则(三)

字符集和比较规则简介 字符集简介 我们知道在计算机中只能以二进制的方式对数据进行存储&#xff0c;那么他们之间是怎样对应并进行转换的&#xff1f;我们需要了解两个概念&#xff1a; 字符范围&#xff1a;我们可以将哪些字符转换成二进制数据&#xff0c;也就是规定好字…...

【SpringCloud-11】SCA-sentinel

sentinel是一个流量控制、熔断降级的组件&#xff0c;可以替换第一代中的hystrix。 hystrix用起来没有那么方便&#xff1a; 1、要在调用方引入hystrix&#xff0c;没有ui界面进行配置&#xff0c;需要在代码中进行配置&#xff0c;侵入了业务代码。 2、还要自己搭建监控平台…...

设计模式:简单工厂模式(C#、JAVA、JavaScript、C++、Python、Go、PHP):

简介&#xff1a; 简单工厂模式&#xff0c;它提供了一个用于创建对象的接口&#xff0c;但具体创建的对象类型可以在运行时决定。这种模式通常用于创建具有共同接口的对象&#xff0c;并且可以根据客户端代码中的参数或配置来选择要创建的具体对象类型。 在简单工厂模式中&am…...

浅谈智能照明控制系统在智慧建筑中的应用

贾丽丽 安科瑞电气股份有限公司 上海嘉定 201801 摘要&#xff1a;新时期&#xff0c;建筑行业发展迅速&#xff0c;在信息化背景下&#xff0c;建筑功能逐渐拓展&#xff0c;呈现了智能化的发展态势。智能建筑更加安全、节能、环保&#xff0c;也符合绿色建筑理念。在建筑智…...

lower_bound()以及upper_bound()

lower_bound&#xff08;&#xff09;&#xff1a; lower_bound()的返回值是第一个大于等于 target 的值的地址&#xff0c;用这个地址减去first&#xff0c;得到的就是第一个大于等于target的值的下标。 在数组中&#xff1a; int poslower_bound(a,an,target)-a;\\n为数组…...

unity(WebGL) 截图拼接并保存本地,下载PDF

截图参考&#xff1a;Unity3D 局部截图、全屏截图、带UI截图三种方法_unity 截图_野区捕龙为宠的博客-CSDN博客 文档下载&#xff1a; Unity WebGL 生成doc保存到本地电脑_unity webgl 保存文件_野区捕龙为宠的博客-CSDN博客 中文输入&#xff1a;Unity WebGL中文输入 支持输…...

加速企业云计算部署:应对新时代的挑战

随着科技的飞速发展&#xff0c;企业面临着诸多挑战。在这个高度互联的世界中&#xff0c;企业的成功与否常常取决于其能否快速、有效地响应市场的变化。云计算作为一种新兴的技术趋势&#xff0c;为企业提供了实现这一目标的可能。通过加速企业云计算部署&#xff0c;企业可以…...

ubuntu 18.04 LTS交叉编译opencv 3.4.16并编译工程[全记录]

一、下载并解压opencv 3.4.16源码 https://opencv.org/releases/ 放到home路径下的Exe文件夹&#xff08;专门放用户安装的软件&#xff09;中&#xff0c;其中build是后期自建的 为了版本控制&#xff0c;保留了3.4.16&#xff0c;并增加了-gcc-arm 二、安装cmake和cmake-g…...

禁用和开启笔记本电脑的键盘功能,最快的方式

笔记本键盘通常较小&#xff0c;按键很不方便&#xff0c;当我们外接了键盘时就不需要再使用自带的键盘了&#xff0c;而且午睡的时候&#xff0c;总是担心碰到笔记本的键盘&#xff0c;可能会删掉我们的代码什么的&#xff0c;所以就想着怎么禁用掉&#xff0c;下面是操作步骤…...

【单片机基础】使用51单片机制作函数信号发生器(DAC0832使用仿真)

文章目录 &#xff08;1&#xff09;DA转换&#xff08;2&#xff09;DAC0832简介&#xff08;3&#xff09;电路设计&#xff08;4&#xff09;参考例程&#xff08;5&#xff09;参考文献 &#xff08;1&#xff09;DA转换 单片机作为一个数字电路系统&#xff0c;当需要采集…...

springcloud组件

https://www.bilibili.com/video/BV1QX4y1t7v5?p32&vd_source297c866c71fa77b161812ad631ea2c25 eureka : 主要是收集服务的注册信息。 如果有了eureka启动了。内部之前的调用其实就可以用服务名了&#xff0c; 本来是要是用ip端口来访问的&#xff0c;只要eureka启来了…...

vscode里如何用git

打开vs终端执行如下&#xff1a; 1 初始化 Git 仓库&#xff08;如果尚未初始化&#xff09; git init 2 添加文件到 Git 仓库 git add . 3 使用 git commit 命令来提交你的更改。确保在提交时加上一个有用的消息。 git commit -m "备注信息" 4 …...

C++初阶-list的底层

目录 1.std::list实现的所有代码 2.list的简单介绍 2.1实现list的类 2.2_list_iterator的实现 2.2.1_list_iterator实现的原因和好处 2.2.2_list_iterator实现 2.3_list_node的实现 2.3.1. 避免递归的模板依赖 2.3.2. 内存布局一致性 2.3.3. 类型安全的替代方案 2.3.…...

【Java学习笔记】Arrays类

Arrays 类 1. 导入包&#xff1a;import java.util.Arrays 2. 常用方法一览表 方法描述Arrays.toString()返回数组的字符串形式Arrays.sort()排序&#xff08;自然排序和定制排序&#xff09;Arrays.binarySearch()通过二分搜索法进行查找&#xff08;前提&#xff1a;数组是…...

安宝特方案丨XRSOP人员作业标准化管理平台:AR智慧点检验收套件

在选煤厂、化工厂、钢铁厂等过程生产型企业&#xff0c;其生产设备的运行效率和非计划停机对工业制造效益有较大影响。 随着企业自动化和智能化建设的推进&#xff0c;需提前预防假检、错检、漏检&#xff0c;推动智慧生产运维系统数据的流动和现场赋能应用。同时&#xff0c;…...

C# 求圆面积的程序(Program to find area of a circle)

给定半径r&#xff0c;求圆的面积。圆的面积应精确到小数点后5位。 例子&#xff1a; 输入&#xff1a;r 5 输出&#xff1a;78.53982 解释&#xff1a;由于面积 PI * r * r 3.14159265358979323846 * 5 * 5 78.53982&#xff0c;因为我们只保留小数点后 5 位数字。 输…...

ABAP设计模式之---“简单设计原则(Simple Design)”

“Simple Design”&#xff08;简单设计&#xff09;是软件开发中的一个重要理念&#xff0c;倡导以最简单的方式实现软件功能&#xff0c;以确保代码清晰易懂、易维护&#xff0c;并在项目需求变化时能够快速适应。 其核心目标是避免复杂和过度设计&#xff0c;遵循“让事情保…...

【生成模型】视频生成论文调研

工作清单 上游应用方向&#xff1a;控制、速度、时长、高动态、多主体驱动 类型工作基础模型WAN / WAN-VACE / HunyuanVideo控制条件轨迹控制ATI~镜头控制ReCamMaster~多主体驱动Phantom~音频驱动Let Them Talk: Audio-Driven Multi-Person Conversational Video Generation速…...

【Nginx】使用 Nginx+Lua 实现基于 IP 的访问频率限制

使用 NginxLua 实现基于 IP 的访问频率限制 在高并发场景下&#xff0c;限制某个 IP 的访问频率是非常重要的&#xff0c;可以有效防止恶意攻击或错误配置导致的服务宕机。以下是一个详细的实现方案&#xff0c;使用 Nginx 和 Lua 脚本结合 Redis 来实现基于 IP 的访问频率限制…...

作为测试我们应该关注redis哪些方面

1、功能测试 数据结构操作&#xff1a;验证字符串、列表、哈希、集合和有序的基本操作是否正确 持久化&#xff1a;测试aof和aof持久化机制&#xff0c;确保数据在开启后正确恢复。 事务&#xff1a;检查事务的原子性和回滚机制。 发布订阅&#xff1a;确保消息正确传递。 2、性…...

Cilium动手实验室: 精通之旅---13.Cilium LoadBalancer IPAM and L2 Service Announcement

Cilium动手实验室: 精通之旅---13.Cilium LoadBalancer IPAM and L2 Service Announcement 1. LAB环境2. L2公告策略2.1 部署Death Star2.2 访问服务2.3 部署L2公告策略2.4 服务宣告 3. 可视化 ARP 流量3.1 部署新服务3.2 准备可视化3.3 再次请求 4. 自动IPAM4.1 IPAM Pool4.2 …...