中国多主数据库:压强投入,期待破茧
拿破仑曾说:“战争的艺术就是在某一点上集中最大优势兵力”,强调了力量集中的重要性。
如今,国际形势风云变幻,西方世界对中国的围剿不再仅仅体现在军事和地缘政治上,而更多表现在经济与科技上。在科技领域,我们不得不再面临一次从根技术、硬件到软件的全面突围战争;而无数战略家总结的“集中力量突破一处”策略,仍是值得中国科技界借鉴的获胜密码。
中国数据库产业突围之战
中国大地人杰地灵,自古以来,在一个领域发展早期,我国一定会出现百家争鸣、百花齐放的场面。近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产业界的历史性握手。首批企业组成呈现生态多样化、路线多样化、产业结构多样化的特点,而金融信息化研究所则可驱动金融行业提供广泛的产品应用与催熟场景。期待在行动计划工作组的统筹下,各与会组织可以合理分工、充分合作,共同加速中国多主数据库稳定落地商用。
无数胜利的经验告诉我们,发现缺口、集中力量突破,是打赢局部战争、进而取得全面战争胜利的关键。如今,在政策机构的统筹牵引下,中国数据库产业正积聚力量向多主数据库发起冲击。在空前的压强投入下,期待中国数据库破茧化蝶的一天。
相关文章:
中国多主数据库:压强投入,期待破茧
拿破仑曾说:“战争的艺术就是在某一点上集中最大优势兵力”,强调了力量集中的重要性。 如今,国际形势风云变幻,西方世界对中国的围剿不再仅仅体现在军事和地缘政治上,而更多表现在经济与科技上。在科技领域࿰…...
JavaScript在ES6及后续新增的常用新特性
JavaScript经历了不同标本的迭代,在不断完善中会添加不同的新特性来解决前一个阶段的瑕疵,让我们开发更加便捷与写法更加简洁! 1、箭头函数: 箭头函数相比传统的函数语法,具有更简洁的语法、没有自己的this值、不会绑…...
试试流量回放,不用人工写自动化测试case了
大家好,我是洋子,接触过接口自动化测试的同学都知道,我们一般要基于某种自动化测试框架,编写自动化case,编写自动化case的依据来源于接口文档,对照接口文档里面的请求参数进行人工添加接口自动化case 其实…...
密钥管理系统功能及作用简介 安当加密
密钥管理系统的功能主要包括密钥生成、密钥注入、密钥备份、密钥恢复、密钥更新、密钥导出和服务,以及密钥的销毁等。 密钥生成:通过输入一到多组的密钥种子,按照可再现或不可再现的模式生成所需要的密钥。一般采用不可再现模式作为密钥生成…...
vue中watch属性的用法
在Vue中,watch属性用于监听一个数据的变化,并且在数据变化时执行一些操作。它可以观察一个具体的数据对象,从而在该数据对象发生变化时触发对应的回调函数。 使用watch属性的步骤如下: 在Vue实例中添加一个watch对象 new Vue({…...
Redis-使用java代码操作Redis
🏅我是默,一个在CSDN分享笔记的博主。📚📚 🌟在这里,我要推荐给大家我的专栏《Linux》。🎯🎯 🚀无论你是编程小白,还是有一定基础的程序员,这…...
0基础学习PyFlink——事件时间和运行时间的窗口
大纲 定制策略运行策略Reduce完整代码滑动窗口案例参考资料 在 《0基础学习PyFlink——时间滚动窗口(Tumbling Time Windows)》一文中,我们使用的是运行时间(Tumbling ProcessingTimeWindows)作为窗口的参考时间: reducedkeyed.window(TumblingProcess…...
Git Rebase 优化项目历史
在软件开发过程中,版本控制是必不可少的一环。Git作为当前最流行的版本控制系统,为开发者提供了强大的工具来管理和维护代码历史。git rebase是其中一个高级特性,它可以用来重新整理提交历史,使之更加清晰和线性。本文将详细介绍g…...
两种MySQL OCP认证应该如何选?
很多同学都找姚远老师说要参加MySQL OCP认证培训,但绝大部分同学并不知道MySQL OCP认证有两种,以MySQL 8.0为例。 一种是管理方向,叫:Oracle Certified Professional, MySQL 8.0 Database Administrator(我考试的比较…...
Java用log4j写日志
日志可以方便追踪和调试问题,以前用log4net写日志,换Java了改用log4j写日志,用法和log4net差不多。 到apache包下载下载log4j的包,解压后把下图两个jar包引入工程 先到网站根下加一个log4j2.xml的配置文件来配置日志的格式和参…...
PCTA认证考试-01_TiDB数据库架构概述
TiDB 数据库架构概述 一、学习目标 理解 TiDB 数据库整体结构。了解 TiDB Server,TiKV,TiFlash 和 PD 的主要功能。 二、TiDB 体系架构 1. TiDB Server 2. TiKV OLTP 3. Placement Driver 4. TiFlash OLAP OLTPOLAPHTAP...
路由过滤路由引入
目录 一、实验拓扑 二、实验需求 三、实验步骤 1、配置IP地址 2、配置RIP和OSPF 3、配置路由引入 4、使用路由过滤,使 R4 无法学到 R1 的业务网段路由,要求使用 prefix-list 进行匹配 5、OSPF 区域中不能出现 RIP 协议报文 一、实验拓扑 二、实…...
视频剪辑技巧:批量合并视频,高效省时,添加背景音乐提升品质
随着社交媒体的兴起,视频制作越来越受到人们的关注。掌握一些视频剪辑技巧,可以让我们轻松地制作出令人惊艳的视频。本文将介绍一种高效、省时的视频剪辑技巧,帮助您批量合并视频、添加背景音乐,并提升视频品质。现在一起来看看云…...
数据可视化篇——pyecharts模块
在之前的文章中我们已经介绍过爬虫采集到的数据用途之一就是用作可视化报表,而pyecharts作为Python中可视化工具的一大神器必然就受到广大程序员的喜爱。 一、什么是Echarts? ECharts 官方网站 : https://echarts.apache.org/zh/index.html ECharts 是…...
Python--快速入门二
Python--快速入门二 1.Python数据类型 1.可以通过索引获取字符串中特定位置的字符: a "Hello" print(a[3]) 2.len函数获取字符串的长度: a "Hello" print(a) print(len(a)) 3.空值类型表示完全没有值: 若不确定当…...
【ArcGIS Pro二次开发】(74):Python、C#实现Excel截图导出图片
以村庄规划制图为例,通过对现状和规划用地的统计,生成Excel格式的【空间功能结构调整表】后,需要进一步将表格导出成图片,并嵌入到图集中,这样可以实现全流程不用手动参与,让制图的流程完全自动化。 关于E…...
74HC138逻辑芯片
文章目录 74系列逻辑芯片——74HC138基础信息描述特征应用范围 功能信息封装引脚基本电路 扩展性能分析 74系列逻辑芯片——74HC138 基础信息 描述 74HC138器件设计用于需要极短传播延迟时间的高性能存储器解码或数据路由应用;在高性能存储系统中,可使用…...
【架构图解】API架构图解:如何以图表形式展现复杂系统
文章目录 前言序列图组件图数据流程图结论 前言 架构图是链接到 API 的不同组件/服务如何相互交互的直观表示。 当需要理解 API 的架构并将其传达给不同的利益相关者(包括其他开发人员、项目经理和客户)时,这些图表非常有用。 图表/视觉效…...
D-link未授权访问以及远程代码执行
随便输入一个错误密码,会跳转到页面: /page/login/login.html?errorfail继续访问有效页面漏洞url: /Admin.shtml然后访问管理页面去更改管理密码 直接构造payload访问漏洞url: /cgi-bin/execute_cmd.cgi?cmdid执行命令&#…...
flask踩坑集锦
很久之前用过flask,那时候是跟着教程,教程怎么做我就怎么做,没有仔细考虑过。 现在是全靠文档和搜索一步一步搭建,忘了很多东西,就碰了很多壁,浅浅记录一下子。 1.Jinja2的模板继承,是指抽出每…...
[特殊字符] 智能合约中的数据是如何在区块链中保持一致的?
🧠 智能合约中的数据是如何在区块链中保持一致的? 为什么所有区块链节点都能得出相同结果?合约调用这么复杂,状态真能保持一致吗?本篇带你从底层视角理解“状态一致性”的真相。 一、智能合约的数据存储在哪里…...
springboot 百货中心供应链管理系统小程序
一、前言 随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,百货中心供应链管理系统被用户普遍使用,为方…...
Leetcode 3576. Transform Array to All Equal Elements
Leetcode 3576. Transform Array to All Equal Elements 1. 解题思路2. 代码实现 题目链接:3576. Transform Array to All Equal Elements 1. 解题思路 这一题思路上就是分别考察一下是否能将其转化为全1或者全-1数组即可。 至于每一种情况是否可以达到…...
【Redis技术进阶之路】「原理分析系列开篇」分析客户端和服务端网络诵信交互实现(服务端执行命令请求的过程 - 初始化服务器)
服务端执行命令请求的过程 【专栏简介】【技术大纲】【专栏目标】【目标人群】1. Redis爱好者与社区成员2. 后端开发和系统架构师3. 计算机专业的本科生及研究生 初始化服务器1. 初始化服务器状态结构初始化RedisServer变量 2. 加载相关系统配置和用户配置参数定制化配置参数案…...
【机器视觉】单目测距——运动结构恢复
ps:图是随便找的,为了凑个封面 前言 在前面对光流法进行进一步改进,希望将2D光流推广至3D场景流时,发现2D转3D过程中存在尺度歧义问题,需要补全摄像头拍摄图像中缺失的深度信息,否则解空间不收敛…...
2021-03-15 iview一些问题
1.iview 在使用tree组件时,发现没有set类的方法,只有get,那么要改变tree值,只能遍历treeData,递归修改treeData的checked,发现无法更改,原因在于check模式下,子元素的勾选状态跟父节…...
ETLCloud可能遇到的问题有哪些?常见坑位解析
数据集成平台ETLCloud,主要用于支持数据的抽取(Extract)、转换(Transform)和加载(Load)过程。提供了一个简洁直观的界面,以便用户可以在不同的数据源之间轻松地进行数据迁移和转换。…...
RNN避坑指南:从数学推导到LSTM/GRU工业级部署实战流程
本文较长,建议点赞收藏,以免遗失。更多AI大模型应用开发学习视频及资料,尽在聚客AI学院。 本文全面剖析RNN核心原理,深入讲解梯度消失/爆炸问题,并通过LSTM/GRU结构实现解决方案,提供时间序列预测和文本生成…...
企业如何增强终端安全?
在数字化转型加速的今天,企业的业务运行越来越依赖于终端设备。从员工的笔记本电脑、智能手机,到工厂里的物联网设备、智能传感器,这些终端构成了企业与外部世界连接的 “神经末梢”。然而,随着远程办公的常态化和设备接入的爆炸式…...
JAVA后端开发——多租户
数据隔离是多租户系统中的核心概念,确保一个租户(在这个系统中可能是一个公司或一个独立的客户)的数据对其他租户是不可见的。在 RuoYi 框架(您当前项目所使用的基础框架)中,这通常是通过在数据表中增加一个…...
