梦飞数据中心 > 新闻动态 > 数据库管理系统:中国还在寻找“正确打开方式

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

有一天你去银行取钱,惊喜地发现:由于系统故障,你的账户显示着马云的数据……
 
这种事不可能发生,因为数据库管理系统非常可靠。网上买火车票,或者将照片上传云端,你都离不开它。
 
而商用数据库管理系统的丰厚利润,一直被甲骨文为首的几家美国公司瓜分,中国产品望洋兴叹。
 
速度和可靠,兼顾是难题
 
查询银行账户时,我们不知道数字来自哪台计算机,哪块硬盘。有数据库管理系统(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 的整体方案。”罗曦光说。
(责任编辑:蒋坤)