Jerry Miku
作者Jerry Miku·2022-01-26 17:13
其它·The Global 500

金融行业分布式存储基础架构探索与实践

字数 7004阅读 5309评论 1赞 7

作者简介

曾任职于某大型金融公司,负责数据中心基础架构资源管理及运维。2017年开始进行分布式相关解决方案的生产落地验证,分别与主流厂商进行分布式产品的应用测试,并先后完成了多家分布式存储、超融合产品的生产应用,对分布式产品的实际运用颇有经验。

文章摘要

本文从行业的发展趋势、业务现状、信息技术等多方面分析了分布式产品在金融行业的资源需求,阐述了在金融业务迅猛发展的时代分布式存储对于金融的意义。对于分布式存储选型,则通过实际业务类型举例与典型业务的详尽测试数据进行选型论证。分布式存储生态对于金融行业来说,虽未能成为一个“必选”方案,但已达到了了一个“可选”方案的全部标准。

随着分布式存储解决方案逐步进入主流客户市场,更多的企业开始拥抱分布式存储基础设施。如今分布式存储的概念,已经不局限于存储本身,而是软件定义存储这一生态的代表。在信息数字化转型的驱动下,金融企业对分布式存储在实际业务场景的应用探索有这多样的解读,或积极拥抱或浅尝探索,但不可否认的一点是:分布式存储解决方案的时代已经到来。

一、 为什么尝试分布式存储

集中式存储性能与稳定性已经足够强大支撑业务,为什么还要尝试分布式存储的业务落地?这个问题是金融企业在新型信息化产品探索与落地前需要明确的初衷。分布式存储,历经了数十年的市场考验,产品的性能、安全以及生态已经逐步完备,对于如今的金融市场,也有诸多适合的业务场景将分布式存储产品的价值转换为金融业务的业务价值。

科技驱动业务,业务精益科技,分布式存储技术的探索与尝试也必然离不开合适的业务场景。在数字化转型的关键时间点上,金融科技也已经衍生出了诸多数据存储的新场景,而在这些新场景里分布式存储与集中式存储不相上下,个别方面甚至超越集中式存储的应用,尤其是在最近几年兴起的经营分析需求类。当然,金融科技更多的挑战、机遇与趋势才是造就分布式存储风生水起的核心:

首先,数据量级的迅猛增速,数据存取与分析的比例平衡。金融业务的发展直接作用于信息基础支撑,很大程度上反馈出业务数据量级的变化。以保险行业为例,2011年—2020年保险行业资产总规模持续扩张,已由5.98亿元快步迈进23.3亿元,年均复合增长率高达16.3%,2020年中国保险行业资产规模增速仍维持在13.3%的高位。金融业务的急剧扩张和增速,带来了两个重要的改变:数据量级与数据功用。数据量级,大部分金融科技的数据资产已经买入PB级别,数据的体量飞跃式增长,需要更加灵活的存储支撑业务。数据功用,如今的业务场景已经转变为经营与分析齐头并进的双驱动模型,不仅有业务的海量数据更有与之匹配的分析需求。分布式存储趁势而起,在中高端存储端大肆扩张,线性扩容的敏态特性极大的解决了传统集中式存储扩容时性能与容量不能同步提升的尴尬,同时丰富的存储协议接口赋予了分布式存储应对如今多种复杂的数据存取的新业务场景。

其次,金融业务价值实现的转变。数据即价值,近十年来金融业务的数据组成已经逐步由结构化数据向结构化与非结构化数据并存的形式过渡,数据价值实现的方式也由单纯的数据的存储向数据存取、分析、再利用的模式转型。业务形态意识的转变,让数据的组成更加多样化,非结构化数据比例迅速攀升。在Gartner 2021年的《分布式文件系统和对象存储魔力象限图》分析报告中预测:到2025年,全球非结构化数据中有60% 都将以软件定义存储的方式部署(在2021年,这一数字还不到25%),到2026年,大型企业在本地、边缘侧或公有云中存放的非结构化数据量将是2021年的三倍。同时,作为业务数据的直接载体,业务形态意识的转变对存储性能、功能以及使用提出了多方位的需求,直接促使金融科技采用多种存储方案进行数据支撑。

最后,信息基础设施多形态的共性需求。我们既要正视历史的包袱,也要着眼于未来的创新,金融行业历经了迅猛发展的数十年,信息基础设施也从大型机、小型机、虚拟化、云、容器这一路走过来,数字化转型还将持续,基础设施多形态并存的局面业已成为事实,数据存储如何链接过去打通未来是信息化决策必须面对的一个难题。无论如何,分布式存储在这儿扮演的角色越来越重要,统一而融合架构、存算耦合的形式,相对集中式存储的掣肘能够应对的业务场景必将越来越多。

任何一款产品抑或是一个生态的崛起,必定是信息、市场、用户等多端需求的综合作用结果,分布式存储或软件定义存储生态亦是如此。尺有所长寸有所短,在数字化转型的分水岭,相信分布式存储已然是金融元宇宙的新基建。

二、 分布式存储业务场景分析

信息服务业务,业务成就信息。业务决定场景,产品匹配需求。分布式存储的实践,必须结合业务的实际使用场景。在混合信息架构的业务支撑下,实践的第一步必是对支撑场景的信息化梳理。结合数字化转型的现状,以保险业务为例,分布式存储的实践大致可以分为两个方向的应用:

1, 经营分析类业务。凭借保险市场的高速发展带来的业务红利,为企业信息化积累了大量的数据价值。从银保通、互联网营销、三方渠道中介等汇集了从销售、购买、决策、支付多种形式以及群体的多维度画像,结合财务、精算的估值测算,完整的业务经营分析链条已经形成。在2020年前后,随着风控政策的收紧,不少保险公司均加大了对MIS大数据风险管理类系统的预算投资,大数据的横空出世就是分布式存储的主要战场之一。经营分析类业务既对数据存储存在一定性能需求,又需要数据存储动态扩展,不仅仅是容量的增加,性能也要随之逐步提升。分布式存储的线性扩容优势完美的契合了这一点,因此很大程度上我们经营分析类的业务的核心存储就是分布式存储。

2, 分布式综合业务。在数字化转型的历程中,为了更好的适配保险业务的节奏,金融科技的基础架构呈现出多元化演进的趋势,而在这其中,趋势的两个大方向便主要是混合云和容器。在混合云构建的云网联动平台上对象存储解决了非结构化数据存储的问题,但结构化数据的支撑基本依靠分布式存储进行,例如分布式数据库或数据库集群等。容器是目前最流行也最火热的大趋势之一,金融科技大部分采用容器实现了边缘化的业务上线,因此容器数据持久化的问题是我们重点考虑之一。容器与主流分布式存储对接十分便捷,同时分布式存储也提供了ISCSI/NFS/S3等多种协议更好的与业务适配。相较于传统集中式存储,在混合云、容器上的综合业务,我们更倾向于分布式存储。

三、 如何择合适的分布式存储?

主流市场上分布式存储产品大体可以分为两类:一类是存算一体型,也就是超融合形态,另外一类则是存算分离型、通过软件定义存储实现的存储类产品,以Ceph/Gluster为代表。本质上两种产品玩法大致相同,只是后者更加纯粹,前者则是将计算融入了存储的节点中,计算层的虚拟化能覆盖的场景更加广泛。产品形态的选择,更多的依据项目的使用场景。如果是虚拟化容器或者其他存算一体平台建设,可以优先考虑超融合;若是纯粹补充存储资源,则是选择软件定义存储更加合适。

怎么选择合适的分布式存储、更加贴近业务场景呢?可以简单的归纳为“一个中心,两个基本点”原则:一个中心,以数据中心信息架构演进方向、主体业务支撑的基础形态为根本,选择期望是单纯存储资源还是存算融合的并兼。两个基本点,主体业务数据类型是什么特征,结构化还是非结构化,业务数据是主,分布式存储是客,主客匹配才能利用分布式的优势;主体业务的场景是什么样也同样是重要参考,多读少写或是多峰少谷,如果说主体业务数据类型直接决定了存储的存取效率,那么主体业务的场景很大程度上就限定了存储实时性能的发挥。

分布式存储的选型需要在不同层面充分考量,应用场景不同,测评的针对性与性能度量的方式都会发生变化,例如在保险业务系统中,如果用来存储影像、保单、电子件这类非结构化数据,常规FIO类性能测试无法真实的反应分布式存储的实际性能,尤其是非结构化数据达到一定量级,分布式存储存取效能的衰减更是无法准确评估,因此这一类功能场景通常采用真实业务数据压测模拟,按照实际业务规模针对GB/TB进行业务脚本压测,记录并评估每个数据量级别下存储的性能表现。不少企业选择采用分布式存储来替换中低端集中式存储或支撑分布式业务(通常为数据库或者应用),这种典型的功能场景下建议用Oracle + Swingbench来模拟业务场景的读写IO模型,测评结果更有指导意义:性能标定不仅可以对标同级别集中式存储,各标定值是优是劣也最为直观,而且Oracle database能够发挥分布式存储的极致性能,支持验证分布式存储的线性扩容,全面展现分布式存储各项能力。

对分布式存储的综合性能如何评测是我们最为关心的重点,各家企业都拥有自己的评测技术和手段,在此也分享我们的一段项目实践。首先,是业务的场景:该项目为MIS经营分析系统的二级核心存储,计划使用分布式存储作为Oracle数据持久化的核心存储,分布式存储在此承载其他分析类系统的抽取、存储、再加工数据等所有数据加工及归档的中间性能平台。其次,是业务数据的特征和量级:在这个项目中,分布式存储定义为二级数据库的核心存储,相当于作为数据库的块存储使用,整体IO特征为多读少写,贴近常规Oracle的使用场景,实时在线数据量级初步规模约5 TB,历史数据预计达到10 TB,前三年实时增量数据大概1 TB/年,历史数据将存在滚动增长的趋势,整体数据量将达到30 TB的级别。最后是一些非常规业务需求:考虑到MIS业务存在大量的数据并行批处理逻辑, 在经营分析测算场景下并发度多次创新高,极为考验存储的实时并发性能。因此,分布式存储的极限性能能否满足MIS高并发的需求、分布式存储动态扩展能否实现容量和性能的线性增长就成为了我们关注的核心。

四、数据库类应用分布式存储评测方法与实践经验

以下为项目某款分布式存储评测方法与概况,以供参考:

Oracle计算节点我们采用2台DELL R740服务器,Oracle相关软件均部署在SSD上,Swingbench运行在独立的DELL R740服务器SSD上,三台DELL R740服务器配置均一致,DELL R740均为中高端配置,采用英特尔®至强®可扩展处理器的金牌系列,避免计算节点性能不足导致测试出现瓶颈。整个链路(包括存储)采用25GE双网卡端口连接(端口聚合),Oracle采用RAC模式部署,数据库采用双实例部署(已知一个实例无法测算出存储真实性能),同时运行Oracle双实例测试任务摸底分布式存储的极限性能与线性扩展效能。

Oracle单计算节点:

配件规格数量
CPUIntel(R) Xeon(R) Gold 6214 CPU @ 2.80GHz2
内存32G RDIMM, 3200MT/s16
SSD1.92TB 固态硬盘 SAS ISE 读取密集型 12Gbps2
HDD4TB 7.2K RPM SATA 6Gbps5

分布式存储单节点配置较计算节点稍低,全链路也采用两条25GE双网口链路分别连接到两台40GE交换机(冗余部署,堆叠模式),充分释放分布式存储的性能。每台存储节点两块SSD作为分布式存储独立缓存,四块SATA磁盘作为存储磁盘。每台存储节点分别划分2条2T ISCSI LUN,每条ISCSI LUN分别从独立的网络链路与Oracle数据库通讯并提供存储支撑(链路IO完全独立)。

分布式存储单节点:

配件规格数量
CPUIntel(R) Xeon(R) Silver 4210R CPU @ 2.40GHz2
内存16G RDIMM, 2933MT/s16
SSD1.92TB 固态硬盘 SAS ISE 读取密集型 12Gbps3
HDD2TB 7.2K RPM SATA 6Gbps4

本次测试采用的Guest OS和Oracle数据库版本同生产环境一致,便于横向对比分布式存储性能。Swingbench采用当前最新版本,为方便观测存储卷读写性能,采用nmon后台记录存储Lun性能表现。

测试软件及版本:

软件软件版本备注
Guest OSRedhat Enterprise Linux 6.9 x64指定
OracleOracle Database 11G R2 (RAC)指定
Swingbench2.5.0.971
nmon16d_x86_64_rhel

测试最终部署架构图:

测试基准条件:

Oracle database config:

属性配置备注
SGA40 GB指定
PGA10 GB指定
LUN(分布式存储三节点测试时)每个实例分别采用3条2TB LUN;(分布式存储四节点测试时)每个实例分别采用4条2TB LUN;每个实例的REDO及DATAFILE均位于独立LUN。
Archivelog Mode不开启

Swingbench OLTP测试配置:

属性配置
Customer Registration15
Update Customer Details10
Browse Products50
Order Products40
Process Orders5
Browse Orders5
USERS200
DATASIZE300 GB

Swingbench OLAP测试配置:

属性配置
Sales Rep Query50
Warehouse Query50
Warehouse Activity Query50
USERS200
DATASIZE300 GB

在Swingbench的测试场景中,选定了OLTP和OLAP两大类,OLTP为常规数据库需求,OLAP主要为业务侧分析型业务需要,作为经营分析批量逻辑测算的性能参考,各场景比例按照业务及系统功能场景指定。关于Swingbench的OLTP OE测试模型可以参考Oracle官方文档。

在测试数据量上,测试数据量为300GB远大于Oracle SGA与PGA,避免cache命中造成测试结果优化,真实反应各项性能标定。模拟USERS为200,重点验证在大并发环境下分布式存储的极致性能,同时观测分布式存储后端是否有针对链路IO的负载均衡。

测试结果:

场景读带宽(MB/S)写带宽(MB/S)IOPS(K)
3节点--OLTP1241643102
3节点--OLAP3253128
4节点--OLTP1459716157
4节点--OLAP4776139

整体来说,这份分布式存储承载Oracle RAC双实例的测试报告,在测试数据层面,整体表现十分优秀,是一份很不错的成绩单。在3节点与4节点OLTP场景下,IO实时带宽上实现了11%以上的提升,成绩十倍优于单节点裸机IO带宽性能测试 ,综合IO表现验证了分布式存储线性扩容的优势;在OLAP的经营分析模型中,计算IO表现已经将单台服务器(2 SSD + 4 HDD)的性能发挥到极致,对硬件性能的发挥十分优异。

Swingbench测试里,在OLTP的3节点测试中,双实例的平均TPM均维持在50万以上,总计100万;在OLTP的4节点测试中,双实例的平均TPM均在80万以上,总计160万,同比增长了60%,实现了增加节点,存储整体性能与容量的线性增长。在OLAP的3节点测试中,双实例的块读取带宽均达到了1.5GB/S以上,总计约3.0 GB/S,相当于集中式中端块存储(机械盘)中等偏上的水平;在OLAP的3节点测试中,双实例的块读取带宽均达到了1.6GB/S以上,总计约4.6 GB/S,已经接近双25GE端口的带宽峰值。在整个测试环节,Swingbench图表及nmon后台监测的Lun实时IO输出曲线基本全程保持稳定、波动极小,整体趋势与高端集中式存储压测的波形图表现一致,在性能压测与稳定性上相当不错。部分场景的Swingbench结果数据放在最后,供各位参考。

分布式存储测试场景1(3节点--OLTP)

分布式存储测试场景2(3节点--OLAP)

分布式存储测试场景3(4节点--OLTP)

分布式存储测试场景3(4节点--OLAP)

五、应用展望

在分布式存储实践初期,我们也对分布式存储的稳定性与性能持观望态度,由于长期从事核心集中式存储的运管工作,一直固化的认为通用x86服务器硬件构建的存储产品在设计标准、整体性能、稳定性等与集中式存储不可同日而语。然而在分布式存储落地探索和实践期间,从一次次交流、一次次测试、一次次优化的过程中逐渐发现这个软件定义存储的生态正秉承革新存储市场的理念迈步向前。

目前分布式存储还在创新迭代:2021年新一代英特尔®傲腾™持久内存逐渐在分布式存储上暂露头角,傲腾内存直接与CPU进行通讯,极大优化了分布式元数据通讯、计算、存取的效率,部分产品引入了傲腾内存加速后同型号产品同测试场景下取得了30%性能提升;贯穿2021年的更高规格PCIE 4.0固态硬盘接连破冰,更强的旗舰主控、更大的容量以及更优化的成本,也使得端到端的NVME全闪走进数据中心的实际应用中,配合分布式存储的动态扩容,优势十分突出;在2021年下半年搭配最新SmartNIC的RDMA技术以及更优化RoCE通讯拥塞优化也在分布式存储产品上表现亮眼,头部厂商的旗舰产品已经开始正式推广新产品。近年分布式存储在各行业的应用也越来越广泛,分布式存储赛道的玩家也越来越多,需要一个更开放的心态去接受一颗存储新星的崛起。

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

7

添加新评论1 条评论

a5060963a5060963运维工程师民营500强企业
2022-02-09 16:20
大部分金融科技的数据资产已经买入PB级别,数据的体量飞跃式增长,需要更加灵活的存储支撑业务。存储一直对金融企业来说是富有挑战性的。文章作者对存储理解的相当透彻,看完对oracle的分布式又有一层体会,最后还有图形做性能说明。感谢作者的认真。
Ctrl+Enter 发表

本文隶属于专栏

最佳实践
不同的领域,都有先行者,实践者,用他们的最佳实践来加速更多企业的建设项目落地。

作者其他文章

相关文章

相关问题

相关资料

X社区推广