作者:兄弟会会长

1 技术革新打破稳态

因为老美的打压,三大基础软件,操作系统+数据库+中间件都被迫踏上了国产化的道路。我个人认为,其实数据库国产化机遇还不错,比其他两个要强。因为有云计算带来的技术革新——在计算机大白话220里面已经讲过了,技术革新打破渗透率和市占率的稳态。最近聊了些专家,总结如下:

2 Oracle建立的秩序正在崩溃

市占率:前有阿里,后有AWS,Oracle一统数据库天下的秩序正在崩溃。阿里从2010年开始去IOE,通过分布式数据库中间件TDDL、开源数据库AliSQL(阿里巴巴的MySQL分支)、高性能X86服务器和SSD成功替换了IBM小型机,Oracle数据库和EMC高端存储,从数据库的角度说,阿里早已从商用数据库时代进入了开源数据库时代。在2017杭州云栖大会前夕的9月21日,阿里云正式发布了自研新一代商用关系型云数据库POLARDB。此外,支付宝团队也自己开发了OceanBase分布式数据库,就是最近炒得很火的,说性能超过了9年前的Oracle 11g那个。

此外,AWS也刚刚宣布关闭了最后的Oracle数据库。亚马逊的消费者业务部门刚刚关闭了最后一些Oracle数据库(某些第三方应用程序已与Oracle紧密绑定,因此尚未迁移)。尽管Oracle老板Larry Ellison天天喷AWS数据库落后Oracle二十年,但是人家还是毅然决然抛弃了Oracle数据库。

回顾前二十年,数据库的游戏规则是Oracle制定的,国内数据库厂商开发系统第一件事是对标Oracle和兼容Oracle。Oracle的衰退意味着它建立的秩序在崩溃,因为Oracle没有跟上分布式和云数据库的趋势,这种秩序的崩溃给了国产数据库厂商机会,但数据库的开发需要投入大量人力物力,没有商业生态环境的支持干不起来。

3 数据库未来三大趋势

数据库发展史:数据库是一个软件,加在上层应用和底层硬件之间,依赖于底层硬件,支撑上层应用变化。数据库发展了五十年时间,从最早的关系型理论到IBM的System2体系,延伸出来各种各样的数据库。总的发展方向是集中式的数据库,发展出来的巨头是Oracle和IBM DB2。但是九十年代后开源数据库比如mySQL和PosgreSQL发展得很好,已经成为我们现在最先考虑的数据库。开源数据库也成为国产数据库的基础,现在很多所谓的自主可控都是在开源基础上进行修改。

数据库正在迎接三大趋势:分布式+云化+多类型数据库。

——第一个趋势是云化。云数据库是指被优化或部署到一个虚拟计算环境中的数据库,可以实现按需付费、按需扩展、高可用性以及存储整合等优势。云厂商主导了现在的IT趋势,它们必须把数据库架在云上。云数据库具有故障自动单点切换、数据库自动备份等功能,保证数据库实例高可用和数据安全。举个不恰当的例子,冠希哥把照片存在自己的电脑上,安全性就不如存在阿里云上。

——第二个趋势是分布式。分布式数据库出现的本质原因是摩尔定律的失效。从上世纪七十年代开始,遵循摩尔定律,芯片越来越强,单机服务器能力越来越强,所以系统都是集中式垂直扩展。近几年摩尔定律失效,CPU性能很难再提升。单机模式已经走到了尽头,单机X86性能已经足够,可以通过分布式架构去做一套数据库,从垂直扩展变成了水平扩展。另外我们看到应用端的变化,移动互联网把很多低频的交易变成了高频的行为,比如银行转账,以前都是线下,现在手机转账都是实时的,数据量增加很快。双十一秒杀,抢票,都对数据库造成了很大压力。这就是为什么数据库在走分布式的道路——传统数据库性能无法满足需求。10086刚开始经常宕机,阿里团队介入以后变得更加流畅就是典型代表。

——第三个趋势是多类型数据库。以前我们一种数据库就可以搞定很多事情,都是关系型数据库。现在数据库类型多样化,有了文档,有了图,有了视频,这些专用领域的数据库正在诞生,人大金仓也在发布视频类的数据库,所以未来不同的数据类型会有专门的数据库去处理。

4 国产数据库生态正在边际改善

国产数据库的发展关键在于生态,生态的关键在于国产硬件产业链能否起来。国产数据库的发展关键在于生态,但是生态这个词已经说烂了,什么才是生态,我举个例子。最近跟华为的朋友交流,他有个重要的观点:华为为什么能够从芯片到软件平台到数据库到操作系统全部自己做,因为有产业链。华为手机成功了,手机有产业链,其他巨头比如BAT构建不了。前几年华为服务器做得很好,如果没有这次事件华为服务器会超过惠普。服务器其实不挣钱,华为就是为了建生态,打通从芯片到操作系统到数据库。所以国产数据库要起来,也需要国产硬件产业链能够做起来。没有AK以前,国产数据库厂商其实是在存活边缘挣扎的——IT人员做任何项目,第一优选的数据库是Oracle,程序员的脑袋里面,提到数据库等于Oracle,因为选择它没有风险,技术最稳定和成熟。在这样一个场景下面,如果一个客户愿意考虑国产数据库,是非常不容易的事情,因为所有开发人员都会建议,一定要使用Oracle,它最稳定,不要考虑其他数据库。金仓的起家,很重要的一个因素是国网选择了它的数据库。

国家电网选择人大金仓的心路历程。国网做了一个智能电网调度控制系统,以前每个系统有十个分系统,后来国网设计了一个平台,四大类应用,把十几套系统统一在一起。

当时国网需要四类数据库,一类是秒级的稳态实时控制,给SCADA用;一类是分钟级稳态历史库,主要用关系型商用数据库,用的金仓、达梦;一类是毫秒级动态实训库,基于内存;还有一类是分钟级动态历史库,除了关系库以外都是国网自己开发的,因为实时性要求太高,历史的和非实时的都是基于关系数据库。

国网08年正式开发这套系统,那时候先找Oracle,但是对方有两件事不支持,一件事是国网一天1440分钟,有一百万个测点,想每分钟按列写进去,但是国际厂商只支持一千列,大于一千列不支持。国产厂商说能够支持,实现了20ms就写完。另一件事是数据库服务器和客户端通讯协议要开放,国外厂家不支持。国网就下决心转向国产数据库,金仓支持得很好,解决了问题。

国家电网的国产数据库应用情况:所有的国调,省调系统都用了,403个地级调度,43个省级调度,都用了金仓和达梦的数据库。除了调度系统以外,还有其他的一千多套,这里的一套是指的是主备,不是按CPU统计的。

声明:本文来自计算机兄弟会666,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。