“多写多读集群”被攻克,中国数据库产业“越过山丘”

2023-12-29 06:04

本文主要是介绍“多写多读集群”被攻克,中国数据库产业“越过山丘”,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

2020年全国两会期间,合肥工业大学应用数学研究所所长檀结庆在媒体采访中提到:“国产数据库只占据不到7%的市场份额,尤其在数据库最核心的交易业务中,鲜有能跟甲骨文同台竞争并实现替换的产品。”

彼时“去IOE”浪潮已经兴起十多年的时间,但囿于性能、稳定性等客观因素,银行、能源、电信等传统业务,对国产数据库依然是“不敢用、不愿用、不想用”的态度,无形中为国产数据库产业制造了一个天花板。

现在,这样的景象正在成为过去式。

华为数据存储与优炫软件日前联合发布“数据库存算分离联合解决方案”,同时推出了高可靠、高性能共享存储多写多读集群数据库解决方案,旨在通过先进的存储技术和创新的设计,满足金融、运营商、能源、制造、政务等传统业务场景下的数据库替代需求。

放在数智化转型的语境下,这样的合作到底意味着什么,能否打破国产数据库产业的天花板?

01 国产数据库:百花齐放,多而不强
和操作系统、中间件等基础软件相比,数据库是国产替代最为迅猛的市场。然而外界对国产数据库的印象,看起来并不太乐观,用一句话来形容的话:数量上百花齐放,市场竞争力却只能说“多而不强”。

为何会出现这样的局面?外界的讨论有很多,并产生了两种主流观点。

一种说法是国产数据库的起点比较晚。

早在1978年,Oracle就推出了第一版数据库,那时候中国的信息化转型进程还无从谈起。2000年前后,国内出现了第一批数据库企业,但全球数据库产业已经走完了竞争、并购、退出的过程,形成了典型的IOE格局,I是指服务器提供商IBM,O是指数据库软件提供商Oracle,E则是指存储设备提供商EMC。

2014年后,在政策和市场红利的驱动下,国产数据库产业百花齐放,却未能改变Oracle、IBM等主导市场的格局,国产数据库只能占领一些缝隙市场。国产数据库的数量越来越多,结果却是高度的碎片化。

图:2023年墨天轮中国数据库排行榜每月收录数量

按照信通院与墨天轮的统计,目前国内有280多个数据库产品。可稍微再深挖一些,超过60%的国产数据库厂商不足100人,超过500人的企业不到10%,再加上协同合作的不足,原本就相对薄弱的研发能力无法形成合力,难以进入金融、能源等“稳定性大于天”的业务场景,生存环境一直比较艰难。

另一种解释是国产数据库的架构问题。

2008年左右,在阿里等互联网巨头的倡导下,“去IOE”浪潮如火如荼。当时中国互联网已经进入到高速增长期,出现了双11购物节等数据量和用户量激增的场景,而IOE架构欠缺横向扩展能力,无法满足激增的性能诉求和灵活扩容诉求,一些企业开始使用通用服务器打造灵活易扩展的分布式数据库。

在数据库的架构上,为了消除不必要的数据搬移延迟和功耗,看似提高效率并降低了成本的存算一体架构,逐渐被互联网企业所追捧。存算一体的优势很明显,短板也同样明显。为了实现高可靠,通常采用一主多从的架构,多个从节点大部分时间都处于闲置状态,导致CPU资源利用率极低。而且服务器出现故障后,无法自动切换,需投入大量人力和时间手工恢复数据。

即使达梦、南大通用等老牌国产数据库厂商,仍在坚持存算分离架构,可当整个市场的注意力转向时,一两家企业无法左右行业的风向。像银行这样对稳定性要求苛刻的传统业务,由于国产化数据库无法满足需求,不得不把订单交给国外厂商。

当存算一体架构被越来越多人诟病,数据传输性能的短板被填补后,存算分离的架构再度被推向台前。华为数据存储与优炫软件的合作,就是新背景下的叙事,试图用软硬结合的方式闯出一条新路。

02 多写多读集群:难题背后的新解法
存算分离的概念不难理解,简单地说就是分别构建计算资源池和存储资源池,全局共享一份数据,一些不必要的消耗可以被避免,进一步提升了数据库的性能,即使某个服务器出现了故障,也不会导致数据丢失。

在存算分离的架构下,华为数据存储与优炫软件共同发布了“数据库存算分离联合解决方案”,主要包含三个子方案:

一是主备集群部署方案,采用数据库一主一从架构,保证业务高可用,并具备易部署、易管理等特点,适用于OA、门户、邮箱、订单管理等业务系统;

二是读写分离集群部署方案,采用一主多从架构,通过存算分离+主从数据强一致性技术确保从节点可读,具有高性能、易扩展、高可靠等优势,适用于金融账务系统、ERP系统、CRM系统、生产制造、研发系统等中大型关键交易应用;

三是多写多读集群部署方案,采用多主架构,通过共享存储+SRAC技术确保全局节点数据读写强一致性,并达成多写多读、负载均衡、脑裂控制等效果,具备极高的可靠性与性能扩展潜力,适用于金融、电信、能源、交通、财税、生产制造等行业中对可用性、性能要求极高的大型核心交易系统。

三个子方案对应着不同的业务场景,其中最为瞩目的正是多写多读集群部署方案,在很大程度上关系着国产数据库能否在最核心的交易业务中实现对Oracle RAC的替代。

以一个常见的支付场景为例:当银行拒绝用户的支付请求时,需要快速查询用户过往的支付习惯,判断支付请求是否有风险,同时以弹窗的方式进行风险提示。这就需要数据库有很高的处理复杂事务的能力,业务的连续性要求高、绝对的高可用性、业务和数据的一致性,以及一定的可扩展性。

国内对RAC的替代由来已久,大多采用三种方式:中间件模拟、分布式数据库以及类似RAC的技术路线。优炫软件的“多写多读集群部署方案”,采用的就是RAC的路线,可以直接进行国产替代。

除了优炫软件持续10年时间的高压投入,存储性能在攻克多写多读集群的难题中扮演了至关重要的角色。

想要实现多写多读集群,存储环节面临着多个节点并发读写、极高的并发吞吐量、高可靠性等挑战,华为OceanStor Dorado全闪存存储50μs的极致时延、2100万IOPS和极致稳定的 SmartMatrix 全互联架构,让整体性能比同等配置的普通存储提升了30%,可满足不同类型的交易型业务诉求。

数据库系统遵循“木桶理论”,硬件和软件任何一环存在短板,都将制约数据库的发展。华为数据存储和优炫软件的合作,无疑为整个数据库行业提供了新的解题思路:优炫数据库的软件优势和华为OceanStor闪存存储的硬件优势融合后,原先横亘在国产数据库头上的“魔咒”悄然被解除。

03 越过山丘:行业已经形成了新共识
如果说十几年前的“去IOE”浪潮中,过于聚焦互联网业务的需求,选择性忽略了传统业务的诉求。华为数据存储和一众数据库厂商的联合创新,目的正是为了关键行业的核心系统上,不断缩小与国际领先梯队在性能、可靠性上的差距,提升国产数据库的综合竞争力。

特别是在“存算分离”架构上,不只是优炫软件,华为数据存储已经和不少数据库厂商推出联合解决方案,在不少领域实现了跨越式升级。

比如万里数据库与华为数据存储联合发布的“存算分离&多主架构联合创新方案,突破了数据库多读多写的业界难题,大幅提升了数据库性能,同时降低系统的建设成本。以性能为例,通过数据库跨节点缓存池化技术,实现了全局表并发读写、事务并发处理能力,相比于传统的主备数据库和分片数据库,性能在不同场景下可提升10倍。

再比如华为数据存储与南大通用共同发布的“金融核心级数据库高可用解决方案”,基于存算分离+共享存储架构,联合GBase南大通用数据库和华为OceanStor闪存存储,提供了满足金融核心系统要求的高性能、高可用数据库解决方案。

其中一个不可小觑的创新是双重容灾机制,在应用层实现了基于逻辑复制的数据库容灾、备库可读,在存储层依托OceanStor闪存存储HyperMetro A-A双活能力,确保数据高效、完整复制到容灾站点,且不影响工作站点性能,确保RPO=0,确保数据不丢失、业务快速恢复,满足金融核心系统的业务要求。

国产数据库以往被频频诟病各自为战,对比IOE这样的“黄金组合”,国内数据库市场可谓一盘散沙。不同厂商间缺少密切的合作,无法构建一个良性生态系统,无法脱离国外品牌为主导的生态圈,导致多而不强的市场格局。

优炫软件、万里数据库、南大通用、海量数据……华为数据存储就像是一条纽带,把不同数据库厂商凝聚在了一起,也许现阶段的生态协作还不是特别紧密,但“存算分离+共享存储架构”已经是一种行业共识。

借用一位数据库从业者的说法:国内数据库行业并不缺少优秀的工程师,重要的是找到正确的问题与正确的方向去发力。

沿循这样的逻辑,随着越来越多的数据库厂商选择华为作为伙伴,和华为数据存储进行联合方案创新,一个有利于国产数据库产业崛起的良性生态,已经初具雏形。在自主创新的道路上默默苦行了十几年的中国数据库产业,正在越过山丘,等待他们的,将是一个繁荣的数据库生态。

04 写在最后
市场咨询机构Gartner曾在2022年发布的《数据库中国市场指南报告》中预测:到2025年,中国分析型数据库市场来自海外厂商的将只剩下30%,交易型数据库市场海外厂商市场也只会剩下50%左右。

可能在一年多以前,不少人还会对Gartner的预测数据表示怀疑,毕竟IOE在交易型数据库市场还是不可替代的存在。伴随着“存算分离+共享存储架构”的不断创新、突围,Gartner的预测离现实已经越来越近。

这篇关于“多写多读集群”被攻克,中国数据库产业“越过山丘”的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/548543

相关文章

SQL Server修改数据库名及物理数据文件名操作步骤

《SQLServer修改数据库名及物理数据文件名操作步骤》在SQLServer中重命名数据库是一个常见的操作,但需要确保用户具有足够的权限来执行此操作,:本文主要介绍SQLServer修改数据... 目录一、背景介绍二、操作步骤2.1 设置为单用户模式(断开连接)2.2 修改数据库名称2.3 查找逻辑文件名

SQL Server数据库死锁处理超详细攻略

《SQLServer数据库死锁处理超详细攻略》SQLServer作为主流数据库管理系统,在高并发场景下可能面临死锁问题,影响系统性能和稳定性,这篇文章主要给大家介绍了关于SQLServer数据库死... 目录一、引言二、查询 Sqlserver 中造成死锁的 SPID三、用内置函数查询执行信息1. sp_w

Druid连接池实现自定义数据库密码加解密功能

《Druid连接池实现自定义数据库密码加解密功能》在现代应用开发中,数据安全是至关重要的,本文将介绍如何在​​Druid​​连接池中实现自定义的数据库密码加解密功能,有需要的小伙伴可以参考一下... 目录1. 环境准备2. 密码加密算法的选择3. 自定义 ​​DruidDataSource​​ 的密码解密3

Maven项目中集成数据库文档生成工具的操作步骤

《Maven项目中集成数据库文档生成工具的操作步骤》在Maven项目中,可以通过集成数据库文档生成工具来自动生成数据库文档,本文为大家整理了使用screw-maven-plugin(推荐)的完... 目录1. 添加插件配置到 pom.XML2. 配置数据库信息3. 执行生成命令4. 高级配置选项5. 注意事

在Java中基于Geotools对PostGIS数据库的空间查询实践教程

《在Java中基于Geotools对PostGIS数据库的空间查询实践教程》本文将深入探讨这一实践,从连接配置到复杂空间查询操作,包括点查询、区域范围查询以及空间关系判断等,全方位展示如何在Java环... 目录前言一、相关技术背景介绍1、评价对象AOI2、数据处理流程二、对AOI空间范围查询实践1、空间查

Python+PyQt5实现MySQL数据库备份神器

《Python+PyQt5实现MySQL数据库备份神器》在数据库管理工作中,定期备份是确保数据安全的重要措施,本文将介绍如何使用Python+PyQt5开发一个高颜值,多功能的MySQL数据库备份工具... 目录概述功能特性核心功能矩阵特色功能界面展示主界面设计动态效果演示使用教程环境准备操作流程代码深度解

MySQL数据库实现批量表分区完整示例

《MySQL数据库实现批量表分区完整示例》通俗地讲表分区是将一大表,根据条件分割成若干个小表,:本文主要介绍MySQL数据库实现批量表分区的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考... 目录一、表分区条件二、常规表和分区表的区别三、表分区的创建四、将既有表转换分区表脚本五、批量转换表为分区

MySQL Workbench工具导出导入数据库方式

《MySQLWorkbench工具导出导入数据库方式》:本文主要介绍MySQLWorkbench工具导出导入数据库方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝... 目录mysql Workbench工具导出导入数据库第一步 www.chinasem.cn数据库导出第二步

Mysql数据库中数据的操作CRUD详解

《Mysql数据库中数据的操作CRUD详解》:本文主要介绍Mysql数据库中数据的操作(CRUD),详细描述对Mysql数据库中数据的操作(CRUD),包括插入、修改、删除数据,还有查询数据,包括... 目录一、插入数据(insert)1.插入数据的语法2.注意事项二、修改数据(update)1.语法2.有

Nginx使用Keepalived部署web集群(高可用高性能负载均衡)实战案例

《Nginx使用Keepalived部署web集群(高可用高性能负载均衡)实战案例》本文介绍Nginx+Keepalived实现Web集群高可用负载均衡的部署与测试,涵盖架构设计、环境配置、健康检查、... 目录前言一、架构设计二、环境准备三、案例部署配置 前端 Keepalived配置 前端 Nginx