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

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

相关文章

数据库面试必备之MySQL中的乐观锁与悲观锁

《数据库面试必备之MySQL中的乐观锁与悲观锁》:本文主要介绍数据库面试必备之MySQL中乐观锁与悲观锁的相关资料,乐观锁适用于读多写少的场景,通过版本号检查避免冲突,而悲观锁适用于写多读少且对数... 目录一、引言二、乐观锁(一)原理(二)应用场景(三)示例代码三、悲观锁(一)原理(二)应用场景(三)示例

Node.js 数据库 CRUD 项目示例详解(完美解决方案)

《Node.js数据库CRUD项目示例详解(完美解决方案)》:本文主要介绍Node.js数据库CRUD项目示例详解(完美解决方案),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考... 目录项目结构1. 初始化项目2. 配置数据库连接 (config/db.js)3. 创建模型 (models/

Spring Security基于数据库的ABAC属性权限模型实战开发教程

《SpringSecurity基于数据库的ABAC属性权限模型实战开发教程》:本文主要介绍SpringSecurity基于数据库的ABAC属性权限模型实战开发教程,本文给大家介绍的非常详细,对大... 目录1. 前言2. 权限决策依据RBACABAC综合对比3. 数据库表结构说明4. 实战开始5. MyBA

Redis分片集群的实现

《Redis分片集群的实现》Redis分片集群是一种将Redis数据库分散到多个节点上的方式,以提供更高的性能和可伸缩性,本文主要介绍了Redis分片集群的实现,具有一定的参考价值,感兴趣的可以了解一... 目录1. Redis Cluster的核心概念哈希槽(Hash Slots)主从复制与故障转移2.

Ubuntu中远程连接Mysql数据库的详细图文教程

《Ubuntu中远程连接Mysql数据库的详细图文教程》Ubuntu是一个以桌面应用为主的Linux发行版操作系统,这篇文章主要为大家详细介绍了Ubuntu中远程连接Mysql数据库的详细图文教程,有... 目录1、版本2、检查有没有mysql2.1 查询是否安装了Mysql包2.2 查看Mysql版本2.

Oracle数据库常见字段类型大全以及超详细解析

《Oracle数据库常见字段类型大全以及超详细解析》在Oracle数据库中查询特定表的字段个数通常需要使用SQL语句来完成,:本文主要介绍Oracle数据库常见字段类型大全以及超详细解析,文中通过... 目录前言一、字符类型(Character)1、CHAR:定长字符数据类型2、VARCHAR2:变长字符数

Win11安装PostgreSQL数据库的两种方式详细步骤

《Win11安装PostgreSQL数据库的两种方式详细步骤》PostgreSQL是备受业界青睐的关系型数据库,尤其是在地理空间和移动领域,:本文主要介绍Win11安装PostgreSQL数据库的... 目录一、exe文件安装 (推荐)下载安装包1. 选择操作系统2. 跳转到EDB(PostgreSQL 的

Python获取中国节假日数据记录入JSON文件

《Python获取中国节假日数据记录入JSON文件》项目系统内置的日历应用为了提升用户体验,特别设置了在调休日期显示“休”的UI图标功能,那么问题是这些调休数据从哪里来呢?我尝试一种更为智能的方法:P... 目录节假日数据获取存入jsON文件节假日数据读取封装完整代码项目系统内置的日历应用为了提升用户体验,

SpringBoot实现数据库读写分离的3种方法小结

《SpringBoot实现数据库读写分离的3种方法小结》为了提高系统的读写性能和可用性,读写分离是一种经典的数据库架构模式,在SpringBoot应用中,有多种方式可以实现数据库读写分离,本文将介绍三... 目录一、数据库读写分离概述二、方案一:基于AbstractRoutingDataSource实现动态

C# WinForms存储过程操作数据库的实例讲解

《C#WinForms存储过程操作数据库的实例讲解》:本文主要介绍C#WinForms存储过程操作数据库的实例,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、存储过程基础二、C# 调用流程1. 数据库连接配置2. 执行存储过程(增删改)3. 查询数据三、事务处