victortp
作者victortp2022-03-22 11:02
系统架构师, 某大型保险

某大型保险集团在线财险业务系统数据库存储架构由集中式向分布式转型实践

字数 4832阅读 3916评论 1赞 2

国内某知名大型保险集团业务范围涵盖寿险、互联网财险、养老保险、企业年金、健康管理等多个领域,随着互联网业务的发展,核心数据库数据量井喷式增长,原有基于Oracle一体机的数据库架构已经不能满足业务增长的需要,催生了数据库平台自 Oracle 一体机向开放平台迁移的需求,采用新型分布式存储架构,提供数据库支持服务,与云端应用服务器一起构成混合云。该新架构是面向互联网的分布式架构,具备了弹性可扩展、 Scale-out 能力,满足了未来业务发展对存储性能和扩展能力的要求。

一、背景分析

1. 原业务系统数据库存储架构

基于在线核心业务系统的运营,需要为业务提供极致性能,提供关键业务数据的高可用能力,保证发生意外时,核心数据不丢失。该保险企业在线财险业务系统核心数据库之前运行在 Oracle SuperCluster Solaris 平台上。

2015 年上线运行:

  • 初始数据量约 2TB

  • 业务连接数约 1000 左右

  • 内存资源使用率 30% 左右

  • CPU 资源使用率 40% 左右

经过 2-3 年的业务发展 :

  • 数据量约 12TB ,增长量近 6 倍,根据业务的发展预测,以 10TB/ 年的速度递增;

  • 虽然前端系统采用的外围数据库处理业务,业务平均连接数仍然达到了 4000 左右,增长近 4 倍;

  • 内存资源平均使用率 80% ,增长近 2.6 倍;

  • CPU 资源使用率 40% ,基本持平。

2. 业务发展对数据库系统的需求

来自业务的需求:随着在线财产保险业务自传统的B2B类型向互联网特点的B2C类型的转变,随之而来的是:访问量的激增、用户量持续爆炸式增长、数据量爆炸式增长,业务场景具备高吞吐量、高并发量的明显特点,这些都给基于传统架构的基础设施带来了极大的挑战。

新业务场景的需求:新保险业务场景的明显特点是高吞吐量、高并发量,要求基础架构中的数据库在保障RTO、RPO的同时,支持更大的:TPS(每秒事务处理数)、QPS(每秒的查询量),更短的RT(响应时间),要求数据库能应对高吞吐量、高并发量的业务场景。

传统的数据库架构在满足以上需求上有明显的瓶颈,且基于集中式存储也无法满足数据量爆炸式增长所需要的动态扩容。

3.数据库存储架构转型

随着互联网线上业务的迅速增长,原有的由 Oracle SuperCluster Solaris 平台提供硬件支撑的核心数据库性能及存储资源都趋于饱和。如按传统处理方式,通常采购新的同架构 Oracle 一体机和服务,进行物理硬件平台的整体升级,保证数据库可以满足业务发展的需要。但是随着数据量、业务需求的增长,此过程将会循环复现,传统方案已不能满足新业务对新基础架构的需求。

经 过 十 几 年 的 发 展 , x86 平 台 的 计 算 性 能 和 RAS 特 性 ( Reliability, Availability and Serviceability,可靠性、可用性与可维护性)都获得极高的成就,甚至超过了以 Power 为代表的小机。经过对目前产品化的分布式存储的调研和分析,我们的视角转到了全闪分布式块存储上。

二、 分布式存储架构转型实践

1. 主流的存储架构调研分析

无论是数据库一体机还是传统 SAN 架构都是采用双控或者多控结构,在控制器之间通过 NTB 或者其他技术达到状态一致。规模受限,无法实现大规模集群、无法 Scale Out, 只能 Scale Up 。结构复杂,成本高,存在明显不足。这些架构已不能满足我们业务发展的需求,集中式存储架构瓶颈明显。

2. 基于分布式存储的数据库架构及分布式块存储产品选型

传统SAN 存储的可靠性通常依赖特定硬件实现,例如双端口硬盘,双控制器是标配。而分布式架构的 Server SAN 软硬件解耦,通过多副本机制实现数据保护,并不依赖于特定硬件。软硬件解耦另一大好处就是, Server SAN 可以更快速地利用新的硬件技术,比如性能更好的 NVMe SSD;虽然 SAN 存储也可利用 NVMe 规范中的双端口功能以支持 NVMe SSD,但成熟应用需要时间,而这也意味着 Server SAN 的性能将有望超过 SAN 存储。

Server SAN 使用与计算同构的以太网络,这意味着能够随着通用以太网的升级而性能提升;而 SAN 存储则通常使用Intel Omni-Path 、Fiber Channel、 InfiniBand等专有网络。随着新一代支持 RDMA 的25GbE(即 RoCE 或 iWARP)网络的普及, Server SAN 不仅在性能上提升迅速,并可便捷地升级到 100GbE、 200GbE 乃至 400GbE 网络(常用 FC 网络规范要到 2020 年才实现 128Gb/s),同时还能享受到以太网的规模经济效应。

经过对当前可选分布式块存储产品的调研,我们最终选择了基于英特尔®至强®可扩展处理器的服务器的计算集群、与分布式存储集群结合的硬件方案,同时采用国内某厂商的分布式块存储产品厂商分布式存储 ,提供数据库支持服务。在采用 NVMe SSD+25GbE( RDMA)技术后的 NeonSAN,其单卷( Volume)可提供不低于 10 万 IOPS 的随机读写性能,容量可扩展到 100TB,单个NeonSAN 节点随机读写性能最高可达 50 万 IOPS。

基于分布式存储的数据库存储架构:

该架构采用了标准基于英特尔®至强®可扩展处理器的物理服务器构成:

(1) 计算层:为三节点 Intel X86服务器作为 Oracle RAC 的计算节点,构成三节点数据库服务集群。计算节点配置:

(2) 存储层:采用9节点基于Intel(R) Xeon(R) Gold 6248R CPU @ 3.00GHz服务器作为底层的存储节点,构建存储服务集群,适用了高负载、并发用户数较高、 IOPS 要求较高的核心业务,存储层提供三副本块存储用于数据库存储卷且提供较高层次的故障保护。存储通过多副本机制来保证数据的高可用,副本数量可以设置为三,接收到应用服务器的写请求之后,其在写入主副本的同时, Replicator 进程会同时将数据副本发送到其他 NeonSAN 节点,当主副本与从副本都写入成功之后,再返回应用服务器写入成功,这种机制保证了数据各副本之间的强一致性。

每个节点上都配备了 2 张双端口网卡,每个端口都连接到不同交换机上。其中互为冗余的两台前端交换机作为服务网络,即为前端应用服务器提供数据读取服务;两台支持 RDMA技术(即 RoCE, RDMA over Converged Ethernet)的 25GbE 交换机作为数据网络,主要用于存储 的多副本写入等数据交换操作。

(3) 网络层:

网络层需关注的因素有:网络延迟,抖动,丢包率等。其中:解决延时依赖于RDMA(Remote Direct Memory Access) 远程 DMA 技术,它是为了解决网络传输中服务器端数据处理的延迟而产生。

为满足存储网络对网络延迟,抖动,丢包率相关指标的要求,存储节点采用基于英特尔®至强®可扩展处理器,系统可以实现更快、更有效的实时数据处理和分析,进一步地释放存储潜力。

基于分布式存储的解决方案与传统方案对比,主要优势如下:

(1) 采用计算与存储分离的全分布式架构后,海量的数据压力分散到了多个并发存储节点,系统性能、吞吐量按照线性扩展。

(2) 全闪的存储节点配置2块4端口高速智能网卡 以太网适配器(带模块),在交换机的配合下可支持100gb带宽的传输速率,存储节点之间采用 RDMA 互联,传输性能较原有一体机平台有所提升,且分布式存储系统之间有负载均衡、多副本机制,避免单点性能瓶颈和单点故障的影响。

(3) 由开放平台取代了传统数据库一体机与与集中式存储设备,缩短了存储系统的建设与扩容周期,对业务数据量激增的扩容需求满足好,扩容周期短,且可降低节省采购、维护与运营成本。

四、基准测试

在 Oracle RAC 数据库测试中,在配置 3 个卷作为 Oracle 数据库存储时,获得超过 165 万TPM( Transactions Per Minute,每分钟事务处理数),但再增加一个 NeonSAN 存储卷,数据库性能并没有增加,这意味着在 3 个 存储 卷时, Oracle RAC 应用的其他子系统已经出现瓶颈,导致尽管存储性能增加,但应用性能并没有增加。结合上一个测试结果,此时瓶颈可能出现在计算方面,即 Oracle 数据库服务器的计算能力达到瓶颈。

Oracle 服务器的 CPU 平均利用率已经超过 75%。结合以往的测试经验来看,通常情况下,服务器 CPU 利用率超过 70%就意味着已经达到最佳计算性能,即使再增加负载, CPU 占用率可能会进一步提升,但就应用来看,其性能并没有增加,反而延迟可能会出现不利影响。因此,从测试结果来看,在配备 3 个存储卷做 Oracle 数据库存储时,整个 Oracle RAC 环境就已经达到最高性能, 而在此环境中, Oracle 服务器配备的是 Intel ® Xeon ® Gold 6248R CPU @ 3.00GHz ,要提升计算性能就只能更换到 第三代英特尔 ® 至强 ® 可扩展处理器 , 或者使用配备更多 CPU 的四路及以上服务器。另一方面,分布式块存储上运行的是高数据密集型工作负载,这类负载需要以快速、可靠及可扩展的方式访问复杂的数据集,热数据应尽可能靠近CPU。提高性能,可采用如英特尔®傲腾™固态盘,不仅具备接近DRAM内存性能,还具备SSD的数据持久性,能弥补DRAM内存和SSD之间的性能缺口,降低延迟。

五、运行效果

数据库存储架构改造后,自集中式存储改造为分布式存储后,给业务带来了明显的收益:

  • 架构兼容性:由专用的数据库一体机存储迁移至基于分布式存储,带来了极大的硬件兼容性,只要是分布式存储支持白名单中的型号均可以加入至存储集群;

  • 低成本:分布式存储在保证高性能、高吞吐量的同时,成本明显下降,与原架构对比成本至少下降60%以上,且无每年固定的维保成本支出;

  • 性能提升:除了业务SQL外,日常统计中的慢SQL性能提升40%以上;

  • 易扩容:分布式存储能很好地支持海量用户的数据爆炸式增长,扩容简单、且可在线扩容、实时扩容,扩容三节点30TB存储空间耗时不超过3小时;

  • 易维护:产品中有丰富的指令和图形化界面可对分布式存储的运行状态、容量、容量增长等指标进行精细化分析,且有扩容助手相关工具提醒用户及时扩容,对于存储中的卷故障自动隔离,以多副本方式保障运行,及时提醒用户处理相关故障卷。这些都是原存储所不具备的功能。

六、 未来规划

优化架构,优化硬件配置,保持已有架构的稳定性,当前架构下的硬件、架构相关不做改动。对于新扩容的存储节点做如下优化,以实现低延迟、高服务质量、高吞吐量和高耐用性相结合的业务需求。

1. 存储优化:引入高性能存储配置:为满足低延迟、高服务质量、高吞吐量和高耐用性相结合的业务需求, 对市场同类产品进行了相关的调研,目前看:英特尔®傲腾™固态盘可以满足相关需求,且具备合理性价比的优势。根据调研拟采用:英特尔® 傲腾™ P5800X 固态盘(3.2 TB,2.5 英寸 PCIe x4,3D XPoint),实现低延迟、高服务质量、高吞吐量和高耐用性。

2. 网卡优化:结合产品对相关产品的调研,拟定采用Intel® Ethernet Server Adapter XL710 40GB/10Gb自适应网卡,替换原某以太网卡,实现高传输,减少网络延时。

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

2

添加新评论1 条评论

ZhuJun2014ZhuJun2014存储工程师, IBM
2022-03-28 21:50
请教一下。测试165万TPM时,测试库的数据量是多少,产生了多少物理IO?
Ctrl+Enter 发表

本文隶属于专栏

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