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


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



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

推荐阅读