SPL资料
现在解决数据库自主化问题的办法只能是自强,将数据库核心技术掌握在自己手里,做属于自己的国产数据库。其实,这个事我国也已经张罗了几十年,早在上世纪80年代以研究所和大学为主的国家队就开始投入研发国产数据库,并在90年代相继推出了几款数据库产品。不过可惜的是这些产品研发从一开始就缺乏产业端的接入,并不是因为实际需求的刺激,而纯粹是为了拥有。这样,产品在商业市场的拓展也比较弱。作为追赶者,始终也没有看到对手的背影。
知乎上有个问题:“中国跨过数据库这座大山了吗?” 翻译一下就是:现在有完全自主研发的国产数据库了吗?回答有100多个,看了看不是普及数据库知识的就是推广自家产品的,大多回答并没有直面这个问题。确实也没法直面,因为我们还不能说已经翻过这座大山了。
数据库现状
这几年,雨后春笋般地冒出数百个国产数据库,但有多少拥有原创技术呢?
其实没多少!甚至可以粗暴一点说:几乎没有!
这几百个国产数据库中,绝大多数是基于开源数据库改造的,90%都不止。其中又有绝大部分(大概又是90%)是基于MySQL或PostgreSQL改造的。
MySQL作为最著名的开源数据库,由于使用者众多、兼容性强、接口丰富等因素,被很多国产数据库厂商用来改造成自家产品也不足为奇,毕竟熟悉它的人不少,改造成本也低一点。
不过,相对MySQL,基于PostgreSQL(俗称PG)封装的更多。这是由于PG采用BSD开源许可非常宽松,允许修改源码后再闭源,甚至不需要版权声明。因此PG成为众多国产数据库厂商的最爱,纷纷基于PG封装出自己的“原创”国产数据库,包括某些以创新闻名的著名大厂。正所谓“国外一开源,我们就原创”,有的厂家甚至懒得改造(也可能是没能力改造),连驱动程序都能直接借用。
除了MySQL和PG这两大阵营外,也有一些基于其他开源数据库封装的,不过数量很少。有些国产数据库看似原创,但其实是基于某个已经退出江湖的古老开源数据库改造的,现在很难看出来就被误以为原创了。
除了使用开源库封装,还有一些国内数据库厂商通过购买源码实现“自主”。像2015年有几家中国公司购买了Informix源码来发展自己的数据库。
这些“借用别人”的非原创数据库厂商,大多数并没有掌握核心技术,毕竟消化上千万行代码也不是一件容易的事儿。虽然手里有源代码,却仍然很难进行深入的改造,未来升级发展也要仰人鼻息。有些时候甚至还会有协议和法律问题,比如MySQL现在的所有权归Oracle所有,天知道哪天O记不高兴了会不会对我们干些啥。
不过,欣慰的是,还