有一天你去银行取钱,惊喜地发现由于系统故障,你的账户显示的是马云的数据... 这种事情是不可能发生的,因为数据库管理系统是非常可靠的。网上买火车票,上传照片到云端,离不开它。 商业数据库管理系统的巨额利润被甲骨文为首的几家美国公司瓜分,中国产品遥不可及。 速度和可靠性,余额是个问题 在检查银行账户时,我们不知道数字来自哪台电脑和哪个硬盘。有数据库管理系统(DBMS)可以为我们完成这项工作。 DBMS就像一个图书管理员:找书架、存书、取书……说起来容易,但当图书馆很大时,管理起来很麻烦,书会被拆开放在很远的书架上。 有数据库开发和实施经验的IBM分析领域分析师罗锡光举了一个例子——当用户修改数据时,相关存储区域会被锁定,其他用户只能排队等候。如果DBMS存储位置不合理,会耽误很多时间。数据操作的理想情况就像是用几十只手弹钢琴,各自弹奏自己的方式,互不影响。 》数据库管理系统,尤其是关系型数据库管理系统(RDBMS)的方法论,教科书上写的很清楚,其功能与常见的图书馆管理系统无异。但是当数据量非常大,达到TB和PB不降低DBMS的性能是一个很大的挑战。”罗熙光说道。 比如一个普通的大型网站每秒要处理10万个查询请求,数据库要同时执行几十个查询任务,响应时间极短。 》网络用户发送请求,期望一眨眼就能得到结果。如果DBMS没做好,响应时间长达10、20秒,用户会失去耐心,数据库可能经常挂断。”罗熙光说道。永不失败,实现高可用性,需要大量的专业知识。 目前,世界上最流行的两种DBMS是Oracle和MySQL,它们都是甲骨文公司的产品。竞争对手包括IBM的DB2、Informix、Microsoft的SQLserver和开源MariaDB等。甲骨文、IBM、微软和Teradata等几家美国公司占据了大部分市场份额。 国内产品难以替代,败在稳定性 DBMS。国货也有市场份额,但只是零头。银行、电信、电力等对安全要求极高的公司,不会考虑国货。20年前,有人呼吁国货替代,但一线技术人员不情愿。 “先发优势、完善的售后技术支持和高昂的迁移成本是企业难以迁移到新系统的原因。”罗锡光说,为了从甲骨文迁移到其他系统,国内的一个电商平台要用上百人的团队,耗时十多个月,成本很高。 罗熙光认为,如今的开源DBMS做得很好,而且是免费的,但银行和传统龙头企业出于谨慎,仍会对核心系统向开源系统迁移持谨慎态度。 稳定压倒一切。DBMS行业观察家小军在文章《国产数据库发展现状分析》中指出,国内DBMS企业大多起源于1990年代的大学,希望实现国产替代。但多年来,“产品的稳定性一直无法提高,不敢做有挑战性的性能测试。因此,稳定性和性能无法说服市场。结果是:没有人敢用稍微重要一点的’” 另外,小军表示,当年国内的产品往往模仿甲骨文,追求产品大而全,但缺乏技术创新,缺乏特色。相比之下,90年代的美国小厂商极富创新精神,开一些新的技术方向,并在与甲骨文等巨头的竞争中成功存活下来。 “这个时代,开源DBMS的源代码可以随意下载,中国应该没有新的进入者做传统的DBMS。”罗熙光说。 浩瀚代码背后,人才济济。有些不常用。” 小军表示,小公司在这方面都想和Oracle竞争,就像“乞丐胜过龙王”。 小军举了个例子:“Informix主要模块的源代码有更多超过2000万行。Informix在美国有一个200多人的核心研发团队,加上测试和外围团队,不少于500人。40个相关团队。小军表示,要想快速赶上世界先进水平,读代码的团队应该比写代码的团队规模更大。因此,在中国,“庞大的代码量是没有办法的”十年前的代码,需要很多年才能弄明白。” 而罗熙光认为,虽然国内还没有可以与甲骨文抗衡的公司,但“从参与开源软件的意义上来说,中国并非没有资格进入。这是一个充分的技术交流和共享的时代。 罗熙光表示,目前开源的RDBMS(如MariaDB)有国内软件开发者的大力支持,与大数据息息相关的NoSQL数据库(如HBase)的开发社区也有活跃的中国开发者数据平台。以阿里云为代表的国内云服务底层,还包括基于开源系统构建的数据库管理系统。 “今天,一个全新的公司可能不会为一个项目选择国外厂商付费的DBMS。例如,互联网初创企业很可能会选择基于国内厂商云服务的DBMS在内的整体解决方案。”骆熙光说道。
