查看原文
其他

产业调研:PG数据库的发展史和未来前景

xiongcc 计算机文艺复兴 2022-12-19

产业调研系列

专家:PG数据库大家可能比较陌生,平时听到Oracle MySQL比较多。PG的历史也很悠久,PG的全称是Postgre,PG前身是美国国防部和伯克利的项目,两个研究生建立了pg95,96年发布了PG SQL开源版本,大概是一年一个版本,每年十月份中下旬发布。9.6版本引入了并行——如果服务器有多个核,在跑数据库的时候可以并行的跑。在v10和v11都引入了很多重量级特性。



不少国内外的巨头,比如Google,Vmware都是PG的客户,我们平安的PG部署量很大,可能上万套实例,在中国应该是数一数二的PG用户。PG自身获得的荣誉,2017、2018、2020年获得了年度数据库的称号。


最上面写了一个一专多长。一专就是事务类交易,多长是什么意思呢?我列举了PG可以做的东西,比如流式数据处理,类似下电影,会提供边下边看的功能。还有PostGIS,对于地理空间的处理,各位应该很熟悉。还有timescale,时序也是近两年来数据库发展光明的赛道,包括很多做时序的专业数据库。AGENS graph是图数据库,greenplum是数据仓库,偏重于数据分析。这几个数据库是在PG上面的插件和扩展,扩展了原有的能力去支持特有的场景,所以一个PG加上各种各样的组件可以实现多样化能力和场景。


PG的优势。对于SQL标准的支持,假如要从异构数据库迁移过来,就要看语法差异程度,要看对于标准的重合程度。PG实现了SQL2011标准179项主要功能中的160项。国内外有很多基于PG的优秀产品,我这里面第八点,协议友好。mysql是GPL协议,如果做二次开发,如果闭源就会面临协议问题。PG的协议是类BSD,只要不打着PG的协议招摇撞骗,换个脸是可以的,只需要做个声明,企业基于PG做分发就不会遇到商业风险。PG是一个开源的,功能强大的,体系架构跟Oracle很相似的,是去O的解决方案。



主流数据库跟PG的关系。去O是一个很火的话题,阿里很早就实现去IOE。近两年因为一些国际化形式,国家提出了信创、安可,就是为了解决卡脖子的问题。拿什么替换,主要就两个途径,一个是国产数据库,比如南大通用、人大金仓、达梦。还有一些新晋的一些数据库,比如TiDB,oceanbase,TDSQL等。开源一定是一个大的趋势,可以快速构建生态,闭源始终是一个黑盒。开源数据库包括TiDB,oceanbase,gaussDB等。


开源数据库里面最著名的就是MySQL和PG,MySQL是开源数据库里面市占率最高的,后来被Oracle收购了。PG跟Oracle体系架构很相似,可以类比为75%的Oracle,PG的协议很友好,国内国外都有很多基于PG二次开发的数据库,包括人大金仓最早是基于PG的,优炫、瀚高、华为opengauss最早也是基于PG做的,包括云和恩墨、海量数据做的数据库也是脱胎于PG。在信创minglu里面有四五家是基于PG开发的,它的协议很友好,做二次开发不会面临风险。Oracle是最强大的商业数据库,PG是最强大的开源数据库。


再来聊一下我对于未来数据库的技术收敛方向。各位或多或少会听到一些新颖的词,比如湖仓一体,可计算存储,隐私计算等等。AI4DB是一个智能化方向,开发人员使用不当导致数据库损坏,需要定时备份,需要专门的人去看着。可以把运维交给云厂商,AI+DB就是自治的,可以自动调整到最佳运行状态,可以在运行的时候给一些建议,比如这个表缺一些索引,所以要怎么调整。云原生数据库是什么意思:serverless大家听得比较多,就是不用管底层的硬件,对于我们传统的集中式数据库,要在机房里面采购物理机,要去搭建数据库,一旦搭好以后CPU、主机内存都是固定的,遇到平时业务很少,负载很低的时候大多数CPU都是闲置的,如果遇到双十一的时候扩容就很麻烦,这个时候就强调serverless,可动态的扩容。还有一些新型的硬件数据库,比如内存掉电以后数据也不会丢失。


Q:最后能幸存下来的数据库是哪些?

A:现在最卷的是TP数据库(OLTP(OnlineTransactionProcessing)数据库,也称交易型数据库),它对于国产数据库有收录。各位如果看信创minglu,主要的产品还是TP,还有时序数据、流数据,巨杉数据库是湖仓一体。这两年是国产数据库快速发展的时机。目前国内做得最好的是达梦数据库,还有TiDB,目前在分布式领域做得很不错,还有华为opengauss,后面有华为大腿,也基于opengauss发布了七家公司做商业发行版。


TP领域除了达梦我最看好金仓,他们很早就开始做了。优炫以前主要做安全,我有些朋友在优炫做工程师,也在不断基于PG发力。瀚高、海量也有PG发行版,也在不断完善中。


Q:为什么PG发展更早,但是发展没有mysql更好?

A:2000年互联网浪潮的时候,PG那个板块还是9.4或者9.5,高可用做得很差,在国内生态发展确实比mysql要晚,随着这两年信创加持,我感觉到PG在发展。我2018年换工作的时候根本看不到市面上招聘PG人员的公司,现在腾讯、阿里的大厂包括国产厂商也在招,肉眼可见PG生态也在发展。


Q:一些大的银行基于PG开发了自己的版本,以后他们会把核心业务系统跑在自己的版本上面吗,还是会找商业版本?

A:平安也有基于PG开发的数据库,假设你的团队能够cover这个数据库,出了问题可以解决。我们迁移了很多场景从Oracle到PG,有些场景就是不行,短期肯定有一些阵痛需要承受。


Q:现在有没有采购金仓、达梦、海量数据等公司的商业数据库,国产厂商的PG数据库跟自己研发的有什么区别?

A:我曾经在金仓做了一年,他们也是基于PG的,对Oracle做了大量兼容性和迁移工具,就是为了平滑迁移。我们平安也采购了几套人大金仓数据库,不过我们自己有数据库以后就没有去采了。兼容性最高的还是达梦,它是最像Oracle的数据库,迁移过来的兼容度非常高。云和恩墨是基于opengauss,起源于PG9.2,做了大量更改,跟PG已经脱离了关系。


Q:Mysql和PG都是国外的开源标准,国内自主可控市场还是需要完全自研内核的公司,未来会不会从政策和国家选择上,排除开源数据库?

A:我不觉得会从零开始造轮子,从开源数据库上面做开发也是不错的选择。从零开始是很消耗人力财力的事情。PG已经提供了很好的框架,你可以在这个上面去做。


合规声明:本文节选自国君计算机举办的专家交流会议纪要,属于公开资料,仅代表专家个人观点,如需纪要全文请后台留言。

信创相关报告
1.如何研究一家信创公司?
2.操作系统的历史演进和国产化趋势(60页PPT)
3.东方通:生逢其时,国产春风一夜来(深度)
4.金山办公:确定性+可能性=高估值(深度)
5.神州数码:华为鲲鹏第一兵(深度)
6.中间件的国产化之路(深度)
7.中孚信息:防护、检查、监管三轮驱动,快速成长的保密安全领军(深度)
9.中国长城:ARM生态崛起的最大受益者(深度)
10.红帽:操作系统起家,云原生接棒,全球领军开源软件供应商(30页PPT)
11.为什么信创股票的走势都不忍直视?
12. 东方通:信创业绩兑现,验证成长逻辑(深度)
13. 关于华为鸿蒙的三个核心问题(深度)
14. 产业调研:撕开国产数据库皇帝的新衣
15. 一个在四季度能够带来超额收益的计算机细分子行业
16. 三谈东方通:中间件龙头要做操作系统了
17. 信创股票为何蠢蠢欲动
18. 金融信创到底多大市场空间?
19. 产业调研:银行信创专家如何看产业进程?
20. 信创行业极简研究框架
21. 科技有国界,放弃幻想准备战斗!
22. 对2022年信创行业节奏的判断
23. 从中移动信创PC大单看运营商信创进展
24. 产业调研:混沌初开的国产数据库市场
25. 产业调研:网络安全行业如何做信创?
26. 产业调研:厂商视角看国产数据库发展趋势
27. 中科曙光:国产算力龙头(深度)
28. 产业调研:恒生、金证等证券IT厂商如何做信创?
29. 彭博报道中国未来两年5000万台电脑国产替代到底靠不靠谱(深度)?
30. 拒绝YY:中国信创产业真实前景(40页PPT)
31. 产业调研:中信银行是如何替换核心系统数据库的?
32. 首届华为合作伙伴&开发者大会即将到来,炒哪些股票?
33. 海量数据:华为高斯数据库第一股(深度)
34. 产业调研:平安银行如何做数据库国产化?
35. 如何理解当前的信创行情?
36. 太极股份:产品化战略加持,信创数据库与OA共振(深度)
37. 信创就是最重要的时代主线
38. 格尔软件:信创上海王
39. 计算机信创主线大行情才刚刚开始
40. 信创,这次为何不一样?
41. 产业调研:医疗信息化公司如何做信创?
42. 关于信创的五个核心问题
43. 中间件国产化研究框架(100页PPT
44. 数据库国产化研究框架(130页PPT
45. 操作系统国产化研究框架(100页PPT)


法律声明

本订阅号发布内容仅代表作者个人看法,并不代表作者所属机构观点。涉及证券投资相关内容应以所属机构正式发布的研究报告内容为准。市场有风险,投资需谨慎。在任何情况下,本订阅号中信息或所表述的意见均不构成对任何人的投资建议。在决定投资前,如有需要,投资者务必向专业人士咨询并谨慎决策。本订阅号运营团队不对任何人因使用本订阅号所载任何内容所引致的任何损失负任何责任。本订阅号所载内容为原创。订阅人对本订阅号发布的所有内容(包括文字、影像等)进行复制、转载的,需明确注明出处,且不得对本订阅号所载内容进行任何有悖原意的引用、删节和修改。

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存