中国多主数据库:压强投入,期待破茧

news2024/11/27 11:51:08

拿破仑曾说:“战争的艺术就是在某一点上集中最大优势兵力”,强调了力量集中的重要性。

如今,国际形势风云变幻,西方世界对中国的围剿不再仅仅体现在军事和地缘政治上,而更多表现在经济与科技上。在科技领域,我们不得不再面临一次从根技术、硬件到软件的全面突围战争;而无数战略家总结的“集中力量突破一处”策略,仍是值得中国科技界借鉴的获胜密码。

中国数据库产业突围之战

中国大地人杰地灵,自古以来,在一个领域发展早期,我国一定会出现百家争鸣、百花齐放的场面。近10年来,中国数据库产业迎来了黄金时代,从互联网掀起的“去IOE”浪潮又开辟了新的架构赛道,使数百家数据库企业喷涌而出;作为IT系统中最核心的软件之一,相关行业标准的出台也为中国数据库发展带来重大利好。

然而,正如不是每一次创新都能带来产业革命,当前繁荣发展的背后也隐藏着隐忧;随着经济下行周期的到来,中国数据库需要尽快在业务落地上找到突破口。

金融业数据库使用情况一直是数据库产业发展的风向标。1998年,IBM DB2、Informix在金融核心系统落地商用,奠定了此后20年大小机在核心系统的格局;如今,金融业成为大小机下移的急先锋。随着近年来数据库国产化工作推进,中国数据库在金融业IT系统规模增速喜人,但质量仍存在隐患。

据金融信息化研究所2022年编撰的《金融业数据库供应链安全发展报告》显示,当前银行业办公系统与一般系统中国数据库使用比例已突破50%,但在核心系统使用比例仍在15%左右;而在证券和保险业,非核心系统中国数据库使用比例均低于30%,核心系统低于20%。

需知核心系统与非核心系统数据库采购价格有倍数差异,无法突破核心系统可能使许多数据库厂商难以形成商业正循环,最终影响到其业务连续性;而金融行业对中国数据库的投资占整体的46%,如果在金融业内数据库厂商无法商业正向闭环,在其它行业“找补”将更加艰难。

中国数据库市场内卷也是构成危机的主要因素。据信通院2022年编撰的《数据库发展研究报告》统计,中国数据库厂商数量占全球总量的32%,是除美国外全球第二大数据库厂商发源地;但中国数据库市场规模只占全球的5.2%。“僧多粥少”的局面加上厂商间核心技术“大同小异”的特点,导致在竞标中各中国数据库难免陷入低价竞争,进一步加深商业难以正向闭环的恶性循环。

近年来不时传出中国数据库厂商因项目亏损导致不得不对客户“停服”的不良事件,一方面损害了行业对中国数据库的信任度,另一方面也打击了资本市场对产业向好发展的信心。

总体来讲,当前中国数据库虽有强势发展劲头,但从关键行业应用情况及市场发展趋势来看,仍面临产业突围的关键战斗。

多主数据库或是突围关键缺口

事实上,中国数据库并非没有出海的野心。OceanBase曾在菲律宾第一大电子钱包GCash有过成功案例。但在非互联网行业的交易型数据库领域,在“自家园子”尚未成功战胜Oracle、DB2等厂商的中国数据库,尚无信心面对出海后更加腥风血雨的竞争。万丈高楼平地起,中国数据库产业突围的方向仍是不断提升自身实力。

然而,提升自己同样需要找到方向。西方数据库系统厂商起步远远早于国内,在引擎、管理系统乃至算法等方向均有深厚技术积累;虽然MySQL和PostgreSQL的开源化帮助其它厂商拉近了技术代差,但实际产品水平仍有不小差距。更难拉近的是使用经验上的鸿沟,因为软件的催熟往往是靠着大量用户反馈来完成的,而缺少使用体验与反馈的中国数据库必然会有更多的Bug和更少的功能,使最终用户的使用体验差距更大。

总体来说,数据库产业是一个优势积累型的市场,一味追赶永远无法实现领先,唯有通过革命性创新开辟新赛道,才有机会改变格局。如今,这一革命性创新似乎已经显现,这就是多主数据库。

什么是多主数据库?简单来说,就是集群中所有节点可以同时读写数据。传统基于数据分片实现节点同时读写的数据库,在某一时刻能够读写某一个分片的节点仍只有一个,其本质仍是“一主多备”的架构;而多主数据库中,任何数据分片都能在任何时刻被所有节点并发读写。这样做的显著好处是线性提升了数据库的并发度,使数据库性能可以没有瓶颈的横向扩展;而分片型数据库的性能严重依赖分片策略,如果某个分片访问频度过高则将导致性能瓶颈。

此外,多主数据库还有稳定时延、节省资源、提升运维效率等优势。早在上个世纪80年代,数据库产业就兴起了对多主数据库的研究,但至今稳定商用案例仍只有Oracle RAC,这也支撑它成为关系型数据库的绝对王者。当前多主数据库赛道还有大量空间,一旦取得突破,数据库产业格局仍有颠覆的可能性。

笔者认为多主数据库是中国数据库的一个关键突破口。对于多主数据库来说,单机能力与集群规模是其一体两面,二者可以相互弥补,这给予中国数据库以规模换性能的重要机会。

从过去二十年发展看,中国数据库产业发展大方向就是集群化。由于数据库单机性能瓶颈,加上国内互联网市场高度发达带来高并发诉求凸显,中国数据库大都往不断扩大集群规模的方向发展,也因此在集群数据管理上积累了丰富经验。

然而,不改变主从数据库的本质,集群规模扩大反而会导致事务处理时延增加,无法真正提升交易性能;而多主数据库可以在提升并发度的同时不影响事务效率,进而真正激发出集群威力。

近年来的产业动态也证明了这一点。早在2022年3月,阿里云就发布了其基于存算分离的多主架构PolarDB方案;2023年3月,华为宣布其基于存算分离和自研Cantian引擎,可帮助主备数据库升级多主架构,并于同年9月将Cantian引擎正式开源;9月的DTCC数据库技术大会上,优炫软件正式发布其基于共享存储的数据库多读多写方案,万里数据库也解读了其通过Cantian引擎实现GreatDB多主架构的最新进展;10月,金融数据库技术大会上,金融信息化研究所携10家中国数据库产业链领军企业,共同启动金融多主数据库应用推进计划。可以说,中国数据库产业已经全面瞄准多主架构这一关键缺口,开启了一场轰轰烈烈的突围战争了。

突围关键:集中力量于一个缺口

虽然方向明确,但突破多主数据库依然困难重重。多主数据库完全实现稳定商用乃至国际领先,还有许多技术难题需要攻克。

比如,多主数据库节点间如何高效的交换缓存数据,这是事务的隔离性能否保障的关键;再比如,当集群规模扩大后,多主集群内如何高效管理,节点故障如何防止脑裂;还有多主集群使用的共享存储能否应对整个集群的高并发访问,能否承担一些近数据计算工作以缓解计算集群压力等等。每一个问题放眼全球数据库产业都没有“标准答案“可以借鉴,我们需要“摸着石头过河”。

事实上,“摸着石头过河”对中国科技界不是新鲜事,我们在很多科技领域都已探索至无人区,依然能够实现突破性创新。但以当前中国数据库产业阵型来看,在多主数据库之路迅速取得突破恐怕难言轻易。由于数据库产品具有极强的商业属性,难以像其它尖端技术领域由国家牵头研发,导致中国数据库从业人数众多,但力量分散,任何一个厂商都难以独自攻克多主数据库难题。

据信通院统计,中国43%的数据库企业人数小于50人,只有前9%的企业拥有50-200人的核心研发团队;而交换机、存储等多主数据库必须的硬件基础设施产业,也尚未与数据库产业实现广泛的研发合作。与之对比,数据库行业巨头Oracle常年保持上千人的核心研发团队,且自身拥有强大的存储研发能力,其ASM本身就是一个能力超强的存储软件,才能打造出业界经典的多主数据库Oracle RAC。

借鉴先进经验,当务之急是中国数据库产业如何拧成一股绳,共同朝着既定目标分工合作攻克难关,而不再是各自为战、无效内卷,笔者认为,此事非政策性机构牵头不能完成。

令人振奋的消息很快传来了。10月13日,在2023金融业数据库技术大会-数据库技术创新发展分论坛中,金融信息化研究所携10家数据库产业链的领军企业,共同启动金融多主数据库应用行动计划。

据笔者了解,金融信息化研究所主要承接人民银行金融科技研究课题,长期耕耘于中国金融科技研究咨询与产业孵化工作,与中国人民银行下属的中国金融电子化集团有紧密联系;而由金融信息化研究所主办的金融业数据库技术大会历年均有人行、银监会、国有大行和股份制大行等高层领导与会,在业内影响力巨大。一言以蔽之,金融信息化研究所完全有能力对多主数据库的产业发展进行统筹推进,此次应用行动计划具有极强的落地性。

参与行动的首批企业也颇有意思。有阿里、奥星贝斯、达梦、南大通用四大行业巨头压阵,天翼云、万里数据库、优炫数据库等近年来在多主数据库取得商用突破的新兴厂商也加入其中,云和恩墨的出现则意味着openGauss生态同样有意迈向多主架构。

更为让人眼前一亮的,是此次代表华为出席的,是国产高端存储领军企业华为存储,这意味着此次合作不再仅仅是数据库界的大联欢,而是整个IT产业界的历史性握手。首批企业组成呈现生态多样化、路线多样化、产业结构多样化的特点,而金融信息化研究所则可驱动金融行业提供广泛的产品应用与催熟场景。期待在行动计划工作组的统筹下,各与会组织可以合理分工、充分合作,共同加速中国多主数据库稳定落地商用。

无数胜利的经验告诉我们,发现缺口、集中力量突破,是打赢局部战争、进而取得全面战争胜利的关键。如今,在政策机构的统筹牵引下,中国数据库产业正积聚力量向多主数据库发起冲击。在空前的压强投入下,期待中国数据库破茧化蝶的一天。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1175148.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

小程序制作(超详解!!!)第十二节 循环求和计算器

1.index.wxml <view class"box"><view class"title">利用循环语句求和</view><view><input placeholder"请输入起点数值" type"number" bindblur"starNum"></input><!--一旦失去交…

JavaEE-部署项目到服务器

本部分内容为&#xff1a;安装依赖&#xff1a;JDK&#xff0c;Tomcat&#xff0c;Mysql&#xff1b;部署项目到服务器 什么是Tomcat Tomcat简单的说就是一个运行JAVA的网络服务器&#xff0c;底层是Socket的一个程序&#xff0c;它也是JSP和Serlvet的一个容器。 为什么我们需要…

【Docker】Docker中 的AUFS、BTRFS、ZFS、存储池概念的详细讲解

前言 作者简介&#xff1a; 辭七七&#xff0c;目前大二&#xff0c;正在学习C/C&#xff0c;Java&#xff0c;Python等 作者主页&#xff1a; 七七的个人主页 文章收录专栏&#xff1a; 七七的闲谈 欢迎大家点赞 &#x1f44d; 收藏 ⭐ 加关注哦&#xff01;&#x1f496;&…

Jetpack:030-Jetpack中的状态

文章目录 1. 概念介绍2. 使用方法2.1 可监听对象2.2 获取状态值2.3 修改状态值2.4 重组函数 3. 示例代码4. 内容总结 我们在上一章回中介绍了Jetpack中网格布局相关的内容&#xff0c;本章回中主要 介绍状态。闲话休提&#xff0c;让我们一起Talk Android Jetpack吧&#xff0…

好题分析(2023.10.29——2023.11.04)

目录 ​编辑 前情回顾&#xff1a; 前言&#xff1a; 题目一&#xff1a;《合并两个有序数组》 1.运用qsort 2.利用三指针 题目二&#xff1a;《移除链表元素》 题目三&#xff1a;《链表的中间节点》 总结&#xff1a; 前情回顾&#xff1a; 我们在上一篇好题分析…

【图】:常用图搜索(图遍历)算法

目录 概念图遍历深度优先搜索 (DFS)DFS 适用场景DFS 优缺点 广度优先搜索 (BFS)BFS 适用场景BFS 优缺点 DFS & BFS 异同点 图搜索Dijkstra算法A*算法Floyd算法Bellman-Ford算法SPFA算法 概念 图遍历和图搜索是解决图论问题时常用的两种基本操作。 图遍历是指从图中的某一个…

Spring Cloud分布式缓存

目录 单点Redis Redis数据持久化 RDB持久化 bgsave细节 RDB的缺点 AOF持久化 AOF的问题 RDB与AOF对比 搭建Redis主从架构 数据同步原理 全量同步 增量同步 主从同步优化 Redis哨兵 集群检测 选举主节点 故障转移 搭建哨兵集群 RedisTemplate的哨兵模式 单点…

【Leetcode】【每日一题】【中等】187. 重复的DNA序列 官方题解待更新

力扣&#xff08;LeetCode&#xff09;官网 - 全球极客挚爱的技术成长平台备战技术面试&#xff1f;力扣提供海量技术面试资源&#xff0c;帮助你高效提升编程技能&#xff0c;轻松拿下世界 IT 名企 Dream Offer。https://leetcode.cn/problems/repeated-dna-sequences/descrip…

C++ AVL树 c语言版本

引入平衡树 假设我们有两个节点&#xff1a;当我们插入第三个节点&#xff0c;就失衡了&#xff1a;此刻我们就要把它平衡一下。 为什么要变平衡 为什么说它失衡了呢&#xff0c;又为什么要把它变平衡&#xff1f; 如图a&#xff0c;假设我们要查找30这个节点就要查3次才能…

耳机,耳麦,傻傻分不清,难怪麦克风没有声音

有时候会发现为什么同一根耳机线&#xff0c;插到笔记本上可以同时说话和收音&#xff0c;但是插到台式机就不行呢&#xff1f; 因为在以前&#xff0c;耳机和麦克风的接口都是独立的&#xff08;如上图&#xff09;。现在笔记本为了方便&#xff0c;就普遍使用了二合一接口&a…

正点原子嵌入式linux驱动开发——Linux 网络设备驱动

网络驱动是linux里面驱动三巨头之一&#xff0c;linux下的网络功能非常强大&#xff0c;嵌入式linux中也常常用到网络功能。前面已经讲过了字符设备驱动和块设备驱动&#xff0c;本章就来学习一下linux里面的网络设备驱动。 嵌入式网络简介 嵌入式下的网络硬件接口 本次笔记…

是时候放弃 Java 序列化了

基本概念 Java 序列化和反序列化三连问&#xff1a; 什么是 Java 序列化和反序列化&#xff1f;为什么需要 Java 序列化和反序列化&#xff1f;如何实现 Java 序列化和反序列化&#xff1f; 是什么 一句话就能够说明白什么是 Java 序列化和反序列化&#xff1f;Java 序列化…

【探索Linux】—— 强大的命令行工具 P.13(文件系统 | 软硬链接 | 动态库和静态库)

阅读导航 引言一、文件系统1. 磁盘文件系统2. 磁盘结构&#xff08;1&#xff09;物理结构&#xff08;2&#xff09;存储结构 3. stat 命令4. Linux ext2文件系统 二、软硬链接1. 软连接2. 硬链接 三、动态库和静态库1. 动态库&#xff08;1&#xff09;动态库文件扩展名&…

计算虚拟化1——CPU虚拟化

目录 vCPU的概念 vCPU和CPU的关系 CPU的Ring级别 CPU虚拟化技术 软件辅助全虚拟化 半虚拟化 硬件辅助虚拟化 计算资源的虚拟化可以分为CPU虚拟化、内存虚拟化、I/O虚拟化三个方面 CPU虚拟化&#xff1a;多个虚拟机共享CPU资源&#xff0c;对虚拟机中的敏感指令进行截获…

【JavaSE】基础笔记 - 类和对象(上)

目录 1、面向对象的初步认知 1.1、什么是面向对象 1.2、面向对象与面向过程 2. 类定义和使用 2.1、简单认识类 2.2、类的定义格式 2.3、自定义类举例说明 2.3.1、定义一个狗类 2.3.2、定义一个学生类 3、类的实例化 3.1、什么是实例化 3.2、类和对象的说明 1、面向…

MySQL性能优化的最佳20条经验

概述 关于数据库的性能&#xff0c;这并不只是DBA才需要担心的事。当我们去设计数据库表结构&#xff0c;对操作数据库时(尤其是查表时的SQL语句)&#xff0c;我们都需要注意数据操作的性能。下面讲下MySQL性能优化的一些点。 1. 为查询缓存优化你的查询 大多数的MySQL服务器…

Python基础入门例程47-NP47 牛牛的绩点(条件语句)

最近的博文&#xff1a; Python基础入门例程46-NP46 菜品的价格&#xff08;条件语句&#xff09;-CSDN博客 Python基础入门例程45-NP45 禁止重复注册&#xff08;条件语句&#xff09;-CSDN博客 Python基础入门例程44-NP44 判断列表是否为空&#xff08;条件语句&#xff0…

ElasticSearch 实现 全文检索 支持(PDF、TXT、Word、HTML等文件)通过 ingest-attachment 插件实现 文档的检索

一、Attachment 介绍 Attachment 插件是 Elasticsearch 中的一种插件&#xff0c;允许将各种二进制文件&#xff08;如PDF、Word文档等&#xff09;以及它们的内容索引到 Elasticsearch 中。插件使用 Apache Tika 库来解析和提取二进制文件的内容。通过使用 Attachment 插件&a…

redis数据库缓存服务器(基础命令)

redis比mysql访问数据快 非关系型数据库以键值对的方式存储数据 作用&#xff1a;加快访问速度&#xff0c;缓解数据库压力 redis最新版本7 特点 丰富的数据结构 list,set,hash等数据结构的存储 支持持久化 支持事务 “一个完整的动作&#xff0c;要么全部执行&#xff0…

数据结构:AVL树讲解(C++)

AVL树 1.AVL树的概念2.平衡因子3.节点的定义4.插入操作5.旋转操作&#xff08;重点&#xff09;5.1左单旋5.2右单旋5.3左右双旋5.4右左双旋 6.一些简单的测试接口7.完整代码 1.AVL树的概念 普通二叉搜索树&#xff1a;二叉搜索树 二叉搜索树虽可以缩短查找的效率&#xff0c;但…