mysql是国产数据库妈_国产数据库发展情况如何?

作为行业内人员,对自己的理解做些简单描述,抛砖引玉。

一、数据库开发难度

数据库研发是和操作系统相提并论的高难度工作。参考对数据库和分布式很感兴趣,学习路线是什么?这篇文章里说到了很多学习过程,从学术上就能看到其复杂度。然而这还只是万里长征的开始,学术到产品还有道巨大的鸿沟。

数据库是基础性软件,好比汽车的引擎一样,是系统的关键部件,具有“牵一发而动全身“的特性。这就要求数据库具有相当高的成熟度。这种成熟度需要在技术、产品、工程、支持以及行业经验上具有相当长时间的积累。

传统的关系型数据库中,例如Oracle、IBM DB2等,都历经几十年才达到现在的版本。任何一款数据库从研发到产品都是一个历经磨难的过程,一般需要6年以上的时间才能走出0到1 的阶段,然后再在行业和实际应用场景中不断地历炼打磨,逐步过渡到成熟期。

开源数据库我们也能过一遍数据库的历史。老一点的,Mysql第一个版本到如今历经22年了;Postgres是1986年开始学术研究,1996年第一个版本。新一点的,Cassandra是2008年第一个initial release,发布open source版本,11年底1.0;到目前是3.11的版本;MongoDB: 2007年就开始开发,到目前3.4的版本;VoltDB是09年开始,7年后才开始出来见人。

另外,金融级数据库产品面对的是诸如银行、证券、保险等头部行业大型企业,对产品上的复杂度和成熟度又提出了更高层次的要求。因此,其生命周期还要更长。

二、数据库产品化的难度

产品的研发是一个不断前进积累打磨的过程。

还是拿汽车行业做案例,同样是引擎,跑车的引擎和家用车引擎差别在哪里?为什么F1赛车经久不衰,就是厂商知道,产品需要不断精益求精,不断地挑战,不断地应对日益增长的需求场景变化。

再拿产品测试做案例,巨杉SequoiaDB经过6年的发展,测试用例有12000多个,自动化测试覆盖率超过99%,测试开发团队和产品开发团队人员1:1,有过之无不及,测试的开发水平要求高过大部分的研发工程师。每一个小迭代,基本要跑一周,机房的测试服务器从来没有停过。

但这又怎样,和Oracle、DB2比是小巫见大巫。

再拿需求到产品转化过程来看。应用产品客户的需求很容易理解,而数据库这种基础产品,客户一句话的需求转化到技术产品的语言是一道巨大的鸿沟,不同用户的需求就交织在一起,如何将需求转而到定义产品开发的功能,“这是一个问题”。

所有这些不历经没日没夜地现场支持也没法实现。另外,如何能够严格把控核心代码和控制产品发展路线也至关重要,毕竟是产品,不能靠技术支持堆人力。

我想“赢在细节,输在格局”这句话对每个产品都适用。

三、中国数据库发展的缺点和优势

先说缺点,最大的还是技术传承和基因。拿Michael Stonebraker老爷子做案例,一生经历了Ingres,Postgres,Informix,C-Store, H-Store再到VoltDB。其他的数据库也是如此,都是几十年一种传帮带的基因。

中国因为近年来才开始发展数据库,主要还是从开源产品诸如Mysql和Postgres里吸取养分;也有收购引入Informix再开始的;创新从来也不是瞬间的事情,站在巨人的肩膀无可厚非。只不过需要有个积累的过程。

我们自己也是从北美DB2的基因派生出来,到中国本土又结合了华为的基因,才落地生根。

说到优点,就是中国是个巨大的市场土壤,想想中国的用户数,手机使用频率,应用场景的多样化,在中国的环境里打磨出来的产品适用于任何地方,这点信心是有的,我们在和Gartner探讨数据库发展方向时感受特别明显。

现在是中国数据库发展的黄金期,也祝愿所有的同行一起来推动自主数据库的发展。

你可能感兴趣的:(mysql是国产数据库妈)