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

作者:深耕行业的 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 基础架构云化转型与信创转型等场景下的表现,开展全方位评测,并将长时间积累下来的分析报告汇总成电子书《金融核心生产业务场景探索文章合集》,供用户免费下载、随时参考。

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

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

相关文章

PostGIS轨迹分析——AIS数据删除异常点

点位连成线 select st_makeline(t.the_geom) from (select the_geomfrom pointswhere name = xxxand point_time > 2023-09-01and point_time < 2023-09-03order by point_time

【数组的使用续篇】

文章目录 以数组的形式打印数组打印方法&#xff1a;Arrays.toString(数组名) 数组排序大小排序方法是 Arrays.sort(数组名) 创建一个自己的打印数组的方法自己创建一个冒泡排序两数之间交换方法 逆置数组打印核心思路还是 i 和 j 交换 总结 以数组的形式打印数组 打印方法&am…

[Python进阶] 操纵鼠标:PyAutoGUI

6.4 操纵鼠标&#xff1a;PyAutoGUI 6.4.1 说明 PyAutoGUI是一个Python的GUI自动化工具&#xff0c;它可以让程序自动控制鼠标和键盘的一系列操作。它能够模拟鼠标的移动、点击、拖拽等操作&#xff0c;以及键盘的按键按下和释放等操作。PyAutoGUI还提供了其他功能&#xff0…

用java语言写一个RSA方式的数据签名、验签,服务端和客户端双方各生成一对RSA公私钥,并交换公钥。己方私钥用于加密,对方公钥用于验签,代码实例类编写。

以下是一个使用Java编写的RSA方式的数据签名和验签的示例代码。在该示例中&#xff0c;服务端和客户端分别生成RSA公私钥对&#xff0c;并进行公钥交换。 java Copy code import java.nio.charset.StandardCharsets; import java.security.*; import java.util.Base64; publi…

软件测试用例设计方法-因果图法

边界值法是等价类划分法的补充&#xff0c;所以&#xff0c;它们是一对搭档。 那么&#xff0c;判定表法有没有它的搭档呢&#xff1f; 答案是&#xff0c;有的。那就是本篇文章分享的用例设计方法—— 因果图法 。 定义 因果图法&#xff1a; 用来处理等价类划分和边界值…

Java:自定义实现SpringBoot Starter

目录 1、自定义Starter1.1、项目结构1.2、代码实现1.3、测试1.4、打包 2、引用Starter2.1、项目结构2.2、引入starter 3、重写默认配置4、重写默认实现5、实现Enable注解5.1、starter项目创建注解5.2、业务工程使用注解 6、元数据7、参考文章 1、自定义Starter 1.1、项目结构 …

三维地图开发三维地图服务器

三维地图开发三维地图服务器 发布时间&#xff1a;2020-03-03 版权&#xff1a; 搭建离线地图服务主要是两个步骤&#xff1a;一是&#xff1a;下载离线地图服务需要的地图数据&#xff1b;二是&#xff1a;将下载的离线地图数据发布成地图服务&#xff1b;只有做好这两步&…

ChatGPT-GPT4:将AI技术融入科研、绘图与论文写作的实践

2023年我们进入了AI2.0时代。微软创始人比尔盖茨称ChatGPT的出现有着重大历史意义&#xff0c;不亚于互联网和个人电脑的问世。360创始人周鸿祎认为未来各行各业如果不能搭上这班车&#xff0c;就有可能被淘汰在这个数字化时代&#xff0c;如何能高效地处理文本、文献查阅、PPT…

出差学小白知识No5:ubuntu连接开发板|上传源码包|板端运行的环境部署

1、ubuntu连接开发板&#xff1a; 在ubuntu终端通过ssh协议来连接开发板&#xff0c;例如&#xff1a; ssh root<IP_address> 即可 这篇文章中也有关于如何连接开发板的介绍&#xff0c;可以参考SOC侧跨域实现DDS通信总结 2、源码包上传 通过scp指令&#xff0c;在ub…

python使用dataset快速使用SQLite

目录 一、官网地址 二、安装 三、 快速使用 一、官网地址 GitHub - pudo/dataset: Easy-to-use data handling for SQL data stores with support for implicit table creation, bulk loading, and transactions. 二、安装 pip install dataset 如果是mysql&#xff0c;则…

R语言有关模型方面的函数(model.)介绍-model.matrix

R语言有关模型方面的函数(model.)介绍-model.matrix 引言model.matrix简单作用提取设计矩阵对有序因子与无序因子的处理(模型相关)手动编写contr.系列的函数写在最后引言 最近闲暇时间大量阅读了一些机器学习方面的R包源码,在此对阅读过程中的一些实用但是不常见的函数进行…

堆/二叉堆详解[C/C++]

前言 堆是计算机科学中-类特殊的数据结构的统称。实现有很多,例如:大顶堆,小顶堆&#xff0c;斐波那契堆&#xff0c;左偏堆&#xff0c;斜堆等等。从子结点个数上可以分为二汊堆&#xff0c;N叉堆等等。本文将介绍的是二叉堆。 二叉堆的概念 1、引例 我们小时候&#xff0c;基…

left join时筛选条件对查询结果的

-- 创建表 CREATE TABLE table1 (id int(11) NOT NULL AUTO_INCREMENT,card_num varchar(60) DEFAULT NULL,customer_id varchar(60) DEFAULT NULL,PRIMARY KEY (id) ) ENGINE InnoDBAUTO_INCREMENT 12DEFAULT CHARSET utf8mb4 COMMENT 测试表1;-- 创建表 CREAT…

[OpenCV-dlib]人脸识别功能拓展-通过随机要求头部动作实现活体检测

引言 在现代计算机视觉中&#xff0c;面部检测和姿势识别是一个重要的领域&#xff0c;它在各种应用中发挥着关键作用&#xff0c;包括人脸解锁、表情识别、虚拟现实等。本文将深入探讨一个使用Python编写的应用程序&#xff0c;该应用程序结合了多个库和技术&#xff0c;用于…

44springboot摄影跟拍预定管理系统

大家好✌&#xff01;我是CZ淡陌。一名专注以理论为基础实战为主的技术博主&#xff0c;将再这里为大家分享优质的实战项目&#xff0c;本人在Java毕业设计领域有多年的经验&#xff0c;陆续会更新更多优质的Java实战项目&#xff0c;希望你能有所收获&#xff0c;少走一些弯路…

basic_sr介绍

文章目录 pytorch基础知识和basicSR中用到的语法1.Sampler类与4种采样方式2.python dict的get方法使用3.prefetch_dataloader.py4. pytorch 并行和分布式训练4.1 选择要使用的cuda4.2 DataParallel使用方法常规使用方法保存和载入 4.3 DistributedDataParallel 5.wangdb 入门5.…

详解js数组操作——filter()方法

引言 在JavaScript中&#xff0c;我们经常需要对数组进行筛选&#xff0c;以便根据特定的条件获取所需的元素。而JavaScript的filter()方法就是一个非常有用的工具&#xff0c;它可以帮助我们轻松地筛选数组中的元素。本文将介绍如何使用filter()方法&#xff0c;以及一些实用…

react+antd+Table实现表格初始化勾选某条数据,分页切换保留上一页勾选的数据

加上rowKey这个属性 <Table rowKey{record > record.id} // 加上rowKey这个属性rowSelection{rowSelection}columns{columns}dataSource{tableList}pagination{paginationProps} />

众佰诚:抖音小店的体验分什么时候更新

随着移动互联网的发展&#xff0c;越来越多的电商平台开始涌现&#xff0c;其中抖音小店作为一种新型的电商模式&#xff0c;受到了许多用户的欢迎。然而&#xff0c;对于抖音小店的体验分更新时间&#xff0c;很多用户并不是很清楚。本文将对此进行详细的解答。 首先&#xff…

SimpleCG图像操作基础

上一篇我们介绍了程序的交互功能&#xff0c;就可以编写一些简单的游戏了&#xff0c;例如贪吃蛇、扫雷、俄罗斯方块、五子棋等&#xff0c;都可以使用图形函数直接绘制&#xff0c;在后续文章中将逐一展示。不过编写画面丰富游戏离不开图像&#xff0c;所以本篇我们介绍一下基…