数据库部署架构路线选择(节选)
社区小助理  2025-10-21 10:16  发布于中国

数据库系统的架构选择一直是企业技术决策中的核心问题,尤其是存算一体与存算分离两种架构模式的抉择。随着数据规模的爆炸式增长和业务需求的日益复杂,这一选择变得尤为关键。

从历史演进角度看,数据库架构经历了多次存算一体与存算分离的反复。早期的IT系统由于体量小,多以存算一体为主,1961年通用电气公司开发的第一款数据库管理系统IDSIntegratedDataStore,集成数据存储),只能运行在通用电气的主机上,且只有一个文件存储在本地盘上,由本机的CPU、内存依据手工编码的指令来读写。当时的数据库属于高端应用,和各种大型机、中型机紧密绑定在一起,数据量也相对较小(如当时银行信贷管理系统的数据量只有10GB左右),使用大型机的本地存储空间绰绰有余。

随着互联网技术的兴起,数据库系统的数据量开始激增,传统的单机数据库服务器无法满足不断增长的大量数据的存储和访问,UNIX系统也开始大行其道,而几乎所有的UNIX主机都具备了连接外置存储的能力。在这一时期,存储区域网络(SAN)和网络附加存储(NAS)方案开始占据主导,数据库架构由存算一体转向了存算分离架构,数据库+计算+外置企业存储存算分离架构开始流行,至今已经30+。商业数据库巨头Oracle9i版本开始,推出了基于共享存储的RACRealApplicationClusters),各计算节点与共享存储分离,计算节点支持横向扩展2,4,8节点等提升并发处理能力,存储也支持横向扩展2节点,4节点,8节点,甚至更多,提升并发性能和容量,整体架构解决了数据库算力横向扩展和容量扩展。外置存储除了解决容量横向扩展,更重要的是通过企业存储软件操作系统和硬件的协同实现了数据存储空间的极致高可靠、高可用,对众多的硬盘进行统一池化管理,RAID冗余管理,部件故障快速隔离,品控质量管理等,大幅减少故障概率,达成99.9999%可靠性要求。同时集群内数据库节点实现单副本数据的共享访问,避免的频繁跨节点同步数据带来的性能和时延损耗。

进入21世纪1020年代,伴随着web2.03.0的飞速发展,越来越多的业务成为互联网业务,业务访问并发量的升级带来了数据量指数级激增。这使得存算一体架构再次受到关注,尤其是在大数据和实时分析场景中。然而,随着云计算技术的成熟和金融行业数字化转型的深入,存算分离架构因其独特的优势又重新成为许多企业的选择。


当今企业面临的技术环境更加复杂,数据规模、业务需求和技术生态都在快速变化。存算一体架构在自主创新方案不足的情况下,已逐渐暴露弹性与可靠性短板。而存算分离架构则通过共享企业存储隔离硬件故障,结合虚拟化技术,将物理服务器切换时间从分钟缩短至秒级,显著提升了业务连续性。这种演进使得架构选择不再是简单的技术决策,而是关系到企业长期发展的战略决策。

一、技术深度分析:存算一体vs存算分离

1、存算一体架构的技术特点

存算一体架构是一种传统但成熟的数据库设计模式,其核心特点是数据存储与计算处理紧密耦合在相同的物理节点上。在这种架构中,每个数据库节点都配备了自己的计算资源和存储资源,数据分布式存储在各个节点的本地磁盘上,计算任务也尽可能在数据所在的节点上执行。

存算一体架构的主要优势体现在以下几个方面:

1)部署简易,不需要依赖类似外部共享存储,仅依赖物理服务器部署前端和后端进程即可完成集群的搭建。

2)执行计算时,计算节点可直接访问本地存储数据,充分利用机器的IO、减少不必要的网络开销、获得更极致的查询性能。

然而,存算一体架构也存在明显的局限性。首先计算服务器部件随着年限增加,故障率上升,任何部件带来的节点故障都会殃及本地盘存储的数据,新换节点带来数据重构时间长。本地盘的故障、慢盘、超时等会导致节点频繁切换,业务hang住几十秒甚至数分钟后,带来交易失败,切换后恢复重建节点数据带来复杂的运维操作。其次,存储与计算绑定,容量不够,扩容需扩计算节点和存储资源,操作不灵活,成本反而高。最后,温冷数据成本偏高,历史数据仍需占用CPU和内存要求高的计算节点,成本高,但是业务量其实很小,CPU利用率低。此外,存算一体架构在故障恢复和搬迁时都要全量恢复数据,不仅降低了可靠性,也增加了运维工作量和成本,同时迁移扩容时间不可控,需要更多资源冗余来弥补。

2、存算分离架构的技术特点

存算分离架构是一种现代且灵活的数据库设计模式,其核心思想是将计算处理与数据存储解耦,使它们能够独立扩展和管理。在这种架构中,数据持久化到共享存储,计算节点无状态化,实现存储与计算独立伸缩。

存算分离架构的主要优势包括:

1)企业存储的可靠性高于服务器本地盘,盘的故障不会导致节点切换,减少数据库节点切换概率。存储统一管理硬盘的可靠性、RAID管理、冗余管理,慢盘、超时盘、故障盘等快速隔离,硬盘的品控质量管理,盘的FW质量和升级管理。

2)独立弹性伸缩,计算扩容可以快速增加节点应对流量高峰,存储扩容可以使存储容量按需扩展,无需数据迁移。

3)降低成本,存储介质分层分级,冷数据存储在低廉的介质上,成本下降70%

4)快速故障恢复,节点宕机后,新节点直接挂载共享存储,无需全量数据重构。

3、性能表现对比分析

在实际性能表现上,两种架构各有特点。存算一体架构由于数据本地化存储,尤其NVMeSSD通常具有几十us级的超低延时优势。而存算分离架构通过FC/ROCE高速时延网络,IO读写到存储缓存,实现极低的IO时延,接近存算一体。

但是数据库主备是要写本地节点,同时同步要跨网络写备节点,甚至同城网络同步写备节点,而这个时延占比很大,大量的时延消耗在网络传输上。如下图,数据库事务的时延是CN计算节点到数据库节点1+同步写数据库从节点2或者3的时延累加,都是Xms级,而盘时延40.1ms的时延占比就很小了,主备同步写网络消耗时延更大。


从某用户数据库性能测试数据看,数据库低并发压力下,存算一体有优势,但是随着并发压力增大,存算分离性能更好,时延也更稳定,因为外置存储是几十甚至上百块SSD盘池化,多盘提供性能上限更高,再加上存储缓存技术,时延更稳定。

二、适用场景分析

基于技术特点和性能表现,两种架构各有其适用场景。

存算一体架构适合以下场景:

  • 简单使用/快速使用数据库。

  • 业务场景无需弹性扩缩容。

存算分离架构则适合以下场景:

  • 高可靠、高可用、高性能要求的重要生产系统。

  • 是多个业务使用共享同一份数据,并且有隔离计算的需求。

  • 需要极致的弹性扩缩容,随着业务规模的增长,算力、存力可分别灵活扩容,提升资源利用率。

本文节选自《区域性银行核心数据库转型实践白皮书》2025年10月,下载全文请点击 https://www.oceanclub.org/cn/journal/index 

全部回复(
回复
回复
发布帖子
帖子标题
行业分类
场景分类
帖子来源
发送语言版本
可切换语言,在您的个人中心检查译文是否正确
我要投稿
姓名
昵称
电话
邮箱
文章标题
行业
领域

投稿成功

感谢您的精彩投稿!✨我们的编辑团队正在快马加鞭审核中,请稍候~

如有任何修改建议,会第一时间与您联系沟通哒!

发布文章
文章标题
文章分类
发送语言版本
可切换语言,在您的个人中心检查译文是否正确