鸿蒙套壳,鸿蒙套壳完了ERP套,ERP套壳,ERP套壳完了数据库套壳,数据库套壳完了……
犹记得GaussDB之前一直宣传是基于PostgreSQL研发而来,不知道今天为啥摇身一变为首款全栈自主分布式数据库了。
基于开源研发改不恶心。这个性质有点类似于深度Linux、红旗Linux、麒麟等国产桌面系统基于开源的Linux系统深度开发而来。
而且数据库这种玩法也不少,阿里的oceabase 不也是基于MySQL改来的么的,但人家可没给自己数据库这么个称呼,不打着自主研发的爱国情怀,不也做的挺好。
虽然PostgreSQL是开源数据库,国内用户可以随便改,华为肯定改动不少,甚至面目全非,但你非要说首款完全自主研发分布式数据库就恶心人了,加了这么多限制词,真的很难跟你掰扯你是不是第一,但真的太恶心了。
说的你就跟国内只有你自己做数据库似的,其他做数据库的都是啥?
数据库内核开发的技术难度很大,哪怕开发团队对内核架构与机制的制定上出现了丝毫的问题,上线后都极有可能会出现后果严重。有时一旦确定项目无法进行下去,甚至可能需要推倒重来。所以基于一款已经成熟的开源数据库进行自主研发并不可耻,国内这么做的也不在少数。
那么华为为什么选择PG而不是选择在互联网公司已经得到广泛使用的MySQL呢?
可能是华为在调研分析后看中了PG各方面优秀的特性:
代码质量高:作为学院派的代表,PG的代码简洁、规范、结构清晰,非常适合从源码级进行二次研发。相比之下,修改MySQL的代码会困难很多。
功能完善强大:PG支持的数据类型丰富(多模能力),SQL语法完善(高级SQL特性),查询优化性能强。以JSON支持为例,PG从2012年的9.2版本就已经添加了对JSON数据类型的支持,相比之下Oracle从2014年发布12c才开始支持JSON,而MySQL直到2015年发布5.7.8版本才开始原生支持JSON。以join算法为例,PG几乎支持所有的多表连接算法;以SQL为例,PG支持大多数SQL语法,相比之下MySQL支持较弱;此外PG的查询优化处理能力,例如复杂子查询等都要强于MySQL。
技术先进:PG号称是世界最先进的开源数据库,其先进性不仅体现在基本的存储、事务、查询处理等方面,更多的是体现在其新技术上,比如JIT查询计划的即时编译和外部表技术等。
扩展性强:良好的扩展性使得PG非常适合进行二次开发,例如在PG基础架构之上引入MPP框架可以构建分布式数据仓库GreenPlum(MySQL基本不适合做数据仓库);在PG上引入OpenCypher可以构建具备图数据存储和查询能力的多模数据库AgensGraph;在PG架构上通过将数据自动按时间和空间分片可以构建时序数据库Timescale。
最后说下,虽然高斯数据库基于开源的PostgreSQL而研发,但是目前肯定自研的比重已经很大,数据库的性能也很高,但就是做法有点恶心!
下面进去猜一猜环节:下一个被华为套壳的是哪个软件呢……