数据库管理系统:中国还在寻找“正确打开方式”

新闻 数据库运维
商用数据库管理系统的丰厚利润,一直被甲骨文为首的几家美国公司瓜分,中国产品望洋兴叹。

  [[234895]]

有一天你去银行取钱,惊喜地发现:由于系统故障,你的账户显示着马云的数据……

  这种事不可能发生,因为数据库管理系统非常可靠。网上买火车票,或者将照片上传云端,你都离不开它。

  而商用数据库管理系统的丰厚利润,一直被甲骨文为首的几家美国公司瓜分,中国产品望洋兴叹。

  速度和可靠,兼顾是难题

  查询银行账户时,我们不知道数字来自哪台计算机,哪块硬盘。有数据库管理系统(DBMS)替我们干活。

  DBMS 就像图书管理员:找到书架,存书,取书……说起来容易,但当图书馆特别大,而且书会拆开来放入相隔遥远的架子时,管理起来就很麻烦了。

  在数据库开发与实施方面有丰富经验的 IBM 分析领域架构师罗曦光举了一个例子——用户修改数据时,相关存储区域会被锁住,其他用户只能排队等,如果 DBMS 存储位置不合理,就会耽误许多时间。数据操作的理想状况,如同几十只手弹奏一架钢琴,各弹各的,互不影响。

  “数据库管理系统,尤其是关系型数据库管理系统(RDBMS)的方法论,教科书上写得很明白;其功能和常见的图书管理系统没什么差别。但当数据量非常大,到了 TB 和 PB 级别,DBMS 性能不下降就是一大挑战。”罗曦光说。

  比如一个普通的大型网站,每秒钟要处理十万个查询请求,数据库得同时执行几十个查询任务,而且响应时间极短。

  “网络用户发送请求,期望一眨眼就得到结果。如果 DBMS 做得不好,响应时间长到 10 秒或 20 秒,用户会丧失耐心,数据库还可能经常挂掉。”罗曦光说,要永远不出故障,达到高可用性,需要很多专门技术。

  目前全世界最流行的两种 DBMS 是 Oracle 和 MySQL,都是甲骨文公司旗下的产品。竞争者还有 IBM 公司的 DB2、Informix,微软公司的 SQLserver 以及开源的 MariaDB 等等。甲骨文、IBM、微软和 Teradata 几家美国公司,占了大部分市场份额。

  国产替代难,输在稳定性

  DBMS 国货也有市场份额,但只是个零头。银行、电信、电力等要求极端稳妥的企业,不会考虑国货。20 年前就有人呼吁国货替代,但一线技术人员并不情愿。

  “先发优势、完善的售后技术支持和高额的迁移成本,是企业难以迁移到新系统的原因。”罗曦光说,国内一家电商平台为了从 Oracle 迁徙到别的系统,最多曾用上百人的团队花了十几个月,成本不菲。

  罗曦光认为,如今的开源 DBMS 做得很好而且免费,但银行和传统龙头企业出于谨慎,对于将核心系统迁移到开源系统仍会持谨慎态度。

  稳定压倒一切。DBMS 行业观察家晓军在《国产数据库发展现状分析》一文中指出,国内 DBMS 企业大多源自 1990 年代的高校,期望实现国产替代。但多年来,“产品的稳定性一直上不去,也不敢做有挑战性的性能测试。所以,稳定性、性能都无法让市场信服。结果就是:稍微重要一点的系统根本没人敢用。”

  另外,晓军说,当年国货往往模仿 Oracle,追求大而全,而技术创新不足、没有特点。相比之下,1990 年代的美国小厂商极富创新力,开辟了一些全新的技术方向,在与甲骨文等巨头的竞争中成功活了下来。

  “这个年代,开源 DBMS 的源代码可以随便下载,国内应该不会有新的入场者再去做传统的 DBMS 了。”罗曦光说。

  浩瀚代码的背后,是浩瀚人才

  “Oracle 的数据库软件……代码量堪称浩瀚。”晓军说,“Oracle 最有特色的地方就是功能非常繁多,语句极端丰富,即便大部分都不常用。”

  晓军说,小公司在这一点上试图比肩甲骨文,犹如“乞丐与龙王爷比富”。

  晓军举例说:“Informix 的主要模块的源代码就有 2000 多万行,Informix 当年在美国的核心研发队伍就有超过 200 人,加上测试和周边团队,不下 500 人。”

  而国内付费使用 IBM 公司的 Informix 源代码的几家企业,相关队伍都不超过 40 人,晓军说,要快速追赶世界先进水平,阅读代码的团队规模应该超过写代码的团队。因此国内“面对十年前的巨量代码一筹莫展,要弄通又得花很多年。”

  而罗曦光认为,尽管国内公司没有可以比肩甲骨文的,但“在参与开源软件的意义上,中国不是没有入场的资格。这是一个技术充分交流与共享的时代。”

  罗曦光说,目前开源的 RDBMS(如 MariaDB)就有国内软件开发人员大力支持,与大数据平台紧密关联的 NoSQL 数据库(如 HBase)的开发社区里也活跃着中国开发人员的身影。以阿里云为代表的国内云服务的底层,也包含借鉴开源系统打造的数据库管理系统。

  “今时今日,一个全新的公司来做项目,可能不会选择国外厂商付费的 DBMS。比如互联网的初创企业,大概率会选择国内厂商的基于云服务的包含 DBMS 的整体方案。”罗曦光说。

责任编辑:张燕妮 来源: 科技日报
相关推荐

2022-03-22 07:37:04

FeignSpringRibbon

2016-03-01 14:51:18

云计算DevOps

2016-01-08 11:00:14

OpenStack云计算

2019-02-20 14:35:57

区块链数字货币比特币

2021-11-25 07:43:56

CIOIT董事会

2023-07-10 09:38:06

兼容性测试方案

2017-08-02 10:43:39

深度学习TensorFlowRNN

2020-07-05 09:17:20

云桌面

2020-06-04 15:16:46

云计算

2021-11-10 16:03:42

Pyecharts Python可视化

2021-10-09 15:49:00

5G网络技术

2018-10-29 15:20:03

2021-06-07 10:05:56

性能优化Kafka

2022-06-22 09:06:54

CSS垂直居中代码

2019-03-17 16:48:51

物联网云计算数据信息

2021-01-11 10:47:09

IT部门网络管理

2022-08-16 08:33:06

DevOps实践

2021-06-15 11:44:01

芯片

2020-05-09 10:35:06

递归面试算法

2018-05-23 16:46:08

大数据
点赞
收藏

51CTO技术栈公众号