13
回答
【开源访谈】瀚高王刚:PostgreSQL 的发展将会越来越好
利用AWS快速构建适用于生产的无服务器应用程序,免费试用12个月>>>   

PostgreSQL 是一个功能强大,开源对象关系型数据库系统,拥有超过 15 年的持续开发和经验证的体系结构,赢得了良好的声誉。关于 PostgreSQL 的学习有哪些要注意的事项?与其他数据库相比,PostgreSQL 的主要优势是什么?发展前景又如何呢?本期【开源访谈】邀请到瀚高数据库内核开发工程师王刚,聊聊他在研究过程中所了解的 PostgreSQL。

【本期嘉宾】王刚, 瀚高数据库内核开发工程师,研究生期间,接触到数据库系统实现的课程,随后学习研究 PostgreSQL 源码,毕业后加入瀚高从事国产数据库的开发,目前工作集中在日志相关的技术领域。

【访谈内容】

1、嘉宾自我介绍。(学习、工作经历,以及主要负责的领域等)

我是在研究生阶段深入接触到数据库,主要是因为我导师从事数据库研究,他给我们开了数据库系统实现的课程,然后我就进入了数据库领域。研究生期间参加过两次会议,都是跟数据库有关的,这些经历对我影响挺深,以至于想以后从事数据库相关的工作。找工作也是毫不犹豫的找数据库相关的工作。加入瀚高后,主要负责数据库日志模块的研究与开发工作。

2、您是如何与 PostgreSQL 结缘,并成为数据库方面的专家的?

专家肯定是称不上的,只能算菜鸟了,与 PostgreSQL 结缘也是因为导师,之前只是听说过 PostgreSQL,没有深入接触过,后来导师让我看看 PostgreSQL 的代码,这才走上研究 PostgreSQL 的大道。我也希望能结识 PostgreSQL 内核的大牛们。

3、PostgreSQL 目前在国内外非常流行,其主要原因是什么?

PostgreSQL 这几年在国内越来越流行,阿里、平安科技、瀚高等企业都选择了 PostgreSQL,这其中有国内 PostgreSQL 社区推广的原因,我觉得更重要的原因还是在于 PostgreSQL 本身。PostgreSQL 起源于伯克利大学,可谓是出身名校,并且 PostgreSQL 完全由社区开发,没有大公司掌控,开放的协议便于公司在其基础上做二次开发。PostgreSQL 某些功能至今依然是很多数据库不具备的,以上这些我认为是 PostgreSQL 在国内外流行起来的主要原因。

4、PostgreSQL 对传统数据库是否构成威胁?传统数据库有哪些痛点呢?

我认为不算是威胁,PostgreSQL 也还是属于关系数据库的范畴,因为 PostgreSQL 本身的很多技术都来源于传统数据库,比如说查询优化、事务等。PostgreSQL 在传统数据库的基础上引入了很多新的技术,比如说对 NoSQL 的支持,对象概念的支持。这些恰好是传统数据库的弱势。随着大数据、云计算的流行,传统数据库确实显现了一些不足,高并发下性能低,可扩展性差,但是关系型数据库依然有很多问题值得人们深入研究。

5、与 MySQL 和 MongoDB 相比,PostgreSQL 的核心优势是什么?

首先,PostgreSQL 是最先进的数据库,其内部支持的技术多,比如查询优化的手段比 MySQL 多,PostgreSQL 支持类型拓展、函数拓展,用户在 PostgreSQL 的基础上很容易完成拓展。

与 MongoDB 相比,PostgreSQL 又具有关系型数据库的优点,支持事务,而且现在也支持 NoSQL 类型,应该说 PostgreSQL 的功能是非常完善且强大的,这些都是它的核心优势。

6、谈谈 PostgreSQL 的现状以及未来的发展趋势?

PostgreSQL 在国内发展势头很好,越来越多的公司认可 PostgreSQL,PostgreSQL 本身也不断的加入新的功能,PostgreSQL v9.6 支持并行查询,提高了查询性能,即将发布的 PostgreSQL 10 支持内置分区表。

PostgreSQL 对 NoSQL 也有很好的支持,也可以利用 fdw 轻松的访问其他数据源,这些先进的技术使 PostgreSQL 拥有很好的前景。PostgreSQL 分会的成立,将促进 PostgreSQL 在国内的发展,以后会有更多的企业使用 PostgreSQL。

7、新手应该如何系统地学习 PostgreSQL,您的建议是什么?

我觉得基础很重要,数据库系统的基本概念需要搞清楚,数据库的整体架构需要明白,最好是要了解数据库的技术演进的历史。多读读手册是有帮助的,多参与社区活动。

8、作为数据库领域的专家,能否向大家分享一下您的开发经验,优秀的 DBA 是如何炼成的?

作为刚入职场的菜鸟,经验谈不上了,我讲讲的我的学习经历。第一要具备热情,因为数据库内核有时候是挺枯燥的,庞大的代码,晦涩的理论,需要有耐心,其次要多动手,无他熟尔。

举报
达尔文
发帖于4个月前 13回/2K+阅

以下是问题补充:

  • @相信你自己 :PG数据库相比mysql真的很难使用。上周我们项目组长说,再过几天就开始把数据库换成mysql.你有什么好的理由说服我们项目经理继续使用PGsql (4个月前)
共有13个答案 最后回答: 4个月前

PG火不起来是因为没有大厂的影响力,一种技术就像潮流,有跟风性。

那么多互联网大厂选择Mysql而不是PG,一方面可能是因为Mysql更适合业务场景,另一方面PG的源码复杂度应该比Mysql要高,改起来简单。

喜欢PG,给人感觉就是严谨,可让人失望的是没有一款足够强大的IDE工具。写SQL使我快乐,可没有辅助的IDE,错乱的格式/版面让人焦躁!

 

 

--- 共有 7 条评论 ---
IdleMan 回复 @龙影 : 你在说什么卵,前言不搭后语的 4个月前 回复
龙影敢问下你用过吗?你了解jsonb吗?如果没有请试用下。 4个月前 回复
大师兄悟空 回复 @0x400 : 收费! 4个月前 回复
neou 回复 @MikeManilone : 确实有! 4个月前 回复
MikeManilone 回复 @neou : 你在说什么?难道 PostgreSQL 没有 Windows 版? 4个月前 回复

最近我也学习了一下PG,但PG没有像workbench这样的建模和同步软件的确很麻烦,毕竟已经适应了Mysql的工作流,要改变很难。

引用来自“IdleMan”的评论

PG火不起来是因为没有大厂的影响力,一种技术就像潮流,有跟风性。

那么多互联网大厂选择Mysql而不是PG,一方面可能是因为Mysql更适合业务场景,另一方面PG的源码复杂度应该比Mysql要高,改起来简单。

喜欢PG,给人感觉就是严谨,可让人失望的是没有一款足够强大的IDE工具。写SQL使我快乐,可没有辅助的IDE,错乱的格式/版面让人焦躁!

 

 

mysql好多小问题,比如timestamp 支持到2037 ,pg就没有,还有union 带limit 必须用括号,我猜pg还是没有

--- 共有 1 条评论 ---
江湖哥int存时间戳 4个月前 回复

我会选mysql,因为社区庞大,出问题和扩容的解决方案和案例多。而pgsql一般人很难hold住的,资料少案例少

--- 共有 3 条评论 ---
龙影@胡建洲 回复@胡建洲 : 为啥大项目不敢? 4个月前 回复
胡建洲 回复 @龙影 : pg官方文档看过,我也用过。也只是小工程,大型的项目不敢上pg 4个月前 回复
龙影你有看PG官方文档吗?没有的话请先看 哈哈 4个月前 回复

我用什么数据库都行, 和PG的第一次见面就是使用pgAdmin的感受。就像你写了很牛逼的代码, 并且用了自以为很棒的UI,但别人用起来却摸不到头脑。 

PG兴起的原因还是因为MySql被oralce收购。 还是open source 比较 free style.

--- 共有 1 条评论 ---
相信你自己PG兴起的原因还是因为MySql被oralce收购。 还是open source 比较 free style. 严重鄙视你 因为被oracle收购 所以才有mariadb.mysql一直很牛的吧 哥哥 4个月前 回复

总结上面所有的  一个东西火不起来 那必然存在这样那样的问题 只有把这些问题解决了才行 作者。 原来的问题都没有解决,就做新的东西。只能说悲剧的孩子

顶部