专访探探DBA张文升:PG在互联网应用中同样也跑的很欢畅

张文升认为,PG无论在可靠性和性能方面都不输其它任何关系型数据库

张文升,探探DBA,负责探探的数据库架构、运维和调优的工作。拥有8年开发经验,曾任去哪儿网DBA。

9月24日,张文升将参加在北京举办的线下活动,分享PostgreSQL在互联网应用的一些经验。值此,他分享了个人的一些经历,以及对PG的一些看法。

9月24日开源数据库企业应用实践PostgreSQL、Greenplum专场培训,点击这里>>>免费报名

正文:

初接触PG,“What?什么是PG?”一脸懵圈——张文升用时下比较流行的一个词儿形容当时的心情,而且他们的Team也是一身抵触情绪。但动手操作和实验一段时间后发现,PG是一个对开发者非常友好,并且稳定好用的关系型数据库,由此他开始迷上PG。

PostgreSQL非常棒,如何让更多人知道并使用它?仅仅开发基于PG的应用已经不能满足张文升的求知欲。他除了成为专业的基于PG技术售后技术支持外,还和一帮热爱PG的人,身体力行的推广着PostgreSQL在国内的使用。“我愿意和他们一样,为了自由和开源,贡献自己的一份绵薄之力。” 张文升说。

“网络上有很多文章,可能是年代太久远,也可能是其它原因,都认为PG只适合做OLAP,不适合在互联网的应用。数据分析是PostgreSQL的强项,多表join、丰富的FDW、窗口函数等在数据分析都有很大的优势,这一点毋庸置疑。事实上,做OLTP应用,PG无论在可靠性和性能方面都不输其它任何关系型数据库,包括商业和开源的关系型数据库。”为什么要分享PG在互联网应用,张文升在采访中如此说到。

“我想和大家说的是:PG在互联网应用中,同样跑的很欢畅。” 他用过去的事实进一步说明,“例如我的前东家去哪儿网,instegram等互联网公司都大规模的使用PG来支撑海量业务。”

对于上段时间Uber从PG切换为MySQL一事,张文升认为这只是一个很普通的商业公司的行为,但他也指出这是一个不负责任的行为,“Uber工程师把自己搞不定的问题归咎到数据库产品本身,会让很多业内人士错误的认为PostgreSQL很糟糕。”

“很有可能,过几年Uber工程师又会从MySQL迁移到其它数据库......” 他最后还打趣到。

更为具体的内容,请查看以下完整采访:

:请介绍下你以及所从事的工作。


张文升:大家好,我叫张文升,曾任去哪儿网DBA,今年7月初加入探探,任探探的DBA。刚毕业工作时,我是从开发做起,也就是“程序猿”,做了近八年的开发之后转行做了DBA,那几年的开发经验,为我日后从事DBA打下了很好的基础,专门从事数据库的运维工作又有好几年了,时间不长也不短。

目前我的工作主要负责探探的数据库架构、运维和调优的工作。探探是一家不大的公司,目前只是C轮,我们的DBA团队也比较小,一共只有三个人,但是个小而精的团队,另外两名DBA同事都非常给力,我们相互学习,各司其职。


:能聊聊你是如何和PG结缘的?


张文升:在从事开发的那几年,经常和各种数据库打交道,包括MS SQL 

SERVER,ORACLE,自认为对数据库比较了解了。

大约是在2008年的时候,我当时所在的公司有一个某岛国的项目,这个项目在需求书上明确提出了使用PostgreSQL作为后端数据库......我很愿意用当下比较流行的一个词儿形容我当时的心情:“一脸懵圈”!What?什么是PostgreSQL?我们的Team也是一身的抵触情绪,为什么不用我们都最熟悉的ORACLE?但为了顺利的拿下项目,我还是硬着头皮,从Google搜索、下载、阅读文档,从零开始学习PostgreSQL。

说到这里,其实大多数开发都有过为了完成某个有特定需求的项目,短时间攻克一项陌生技术的经历,项目完成后,那项技术就抛在脑后了。但我花了几周的时间读PostgreSQL文档,动手操作和实验了一段时间之后,仿佛打开了一扇新的门,发现PostgreSQL是一个对开发者非常友好,并且稳定好用的关系型数据库;从商业层面讲,它还是BSD协议的,可以免费使用的开源数据库。

我开始尝试在大大小小的项目中开始用它,它的表现也从没有让我失望。慢慢的,我就迷上了PostgreSQL,仅仅开发基于PostgreSQL的应用已经不能满足我的求知欲。在几年以前,一个非常好的机会,我加入了EnterpriseDB(PostgreSQL的一个商业版本,也称为PPAS)中国区的一家公司,成为了专业的基于PostgreSQL技术的售后技术支持。

从此,我开始了我的PostgreSQL职业生涯,先后服务了多家使用PostgreSQL的企业。

:你是如何从一名使用者,逐渐成为PG社区核心成员和志愿者的?


张文升:我身边有很多和我一样很喜欢PostgreSQL的朋友,我们经常一起讨论关于PostgreSQL的问题,几年以前我们经常会聊起一个相同的话题:PostgreSQL非常棒,我们如何让更多人知道和使用它?我慢慢的认识了目前我们PostgreSQL社区的主席萧少聪,以及上一任PostgreSQL社区主席李元佳,还有开源数据库圈赫赫有名的PG大学校长德歌。知道了其实有一帮人和我一样,热爱自由和开源,热爱PostgreSQL,并在身体力行的推广着PostgreSQL在国内的使用。我愿意和他们一样,为了自由和开源,贡献自己的一份绵薄之力。


:作为拥有多年项目经验的开发者,你对哪个项目中应用PG的过程记忆深刻,为什么?


张文升:我不做开发已经有好几年了,很多的项目已经没有印象了。但是第一个使用PostgreSQL的项目依然记忆深刻。并不是用到了什么特殊的技巧,而是学习PostgreSQL的过程很奇妙,例如PostgreSQL 8.4之后Peter Eisentraut重新操刀的psql命令行:

哦...使用“\l“命令就可以列出实例中所有的Database了;

哦...使用“\watch 

n”命令就可以像Linux的watch命令一样循环执行一条命了了,省去了写脚本的麻烦;

总之,各种大的小的惊喜。学习了PostgreSQL之后,也有了一条心得:对于自己不熟悉的数据库,亲自尝试并理解它的设计意图,深入之后会发现新的方法可能是更优解。

:你是如何看待PG优劣的?


张文升:这个问题讨论的太多了,我不太想说太多了,几个关键词简单概括一下。PostgreSQL是BSD的开源关系型数据库,严格的事务支持,支持多种语言的存储过程、数据类型和索引类型丰富、PostGIS、ODL,即将发布的9.6中还有Parallel 

execution,非常令人期待。当然,PostgreSQL也有不完善的地方,例如没有原生Partition等。

:在PG运维上,是否有什么经验和大家分享下?


张文升:数据库是门很复杂的学问,每个数据库有各自的特点,PostgreSQL中国社区的很多同行在PostgreSQL的高可用、高性能上都积累了不少经验。如果大家感兴趣,可以去社区官方网站翻阅近几年大家在PG大会上贡献的话题的文档。

:能否罗列下,在本次演讲中,你将会分享哪些点?另外,你有什么话想提前和与会者说吗?


张文升:这次话题我主要想分享PostgreSQL在互联网应用的一些经验。

网络上有很多文章,可能是年代太久远,也可能是其它原因,都认为PostgreSQL只适合做OLAP,不适合在互联网的应用。数据分析是PostgreSQL的强项,多表join、丰富的FDW、窗口函数等在数据分析都有很大的优势,这一点毋庸置疑。事实上,做OLTP应用,PostgreSQL无论在可靠性和性能方面都不输其它任何关系型数据库,包括商业和开源的关系型数据库。例如我的前东家去哪儿网,instegrem等等互联网公司都大规模的使用PostgreSQL来支撑海量业务。所以我想把我的PostgreSQL互联网实战经验与大家分享,算是抛砖引玉。我想和大家说的是:PostgreSQL在互联网应用中,同样跑的很欢畅。:-)

:你对上段时间Uber从PG切换为MySQL一事怎么看?


张文升:关于Uber从PG切换为MySQL,前一段时间网络上炒得沸沸扬扬,我也仔细看过Uber工程师的文章,还有很多与Uber工程师不一样观点的文章,例如阿里云德哥对Uber从PG切换为MySQL的分析,《SQL Performance Explained》作者对此事件的分析,都非常中肯。

我对Uber这家公司不了解,个人认为Uber从PG切换到MySQL,只是一个很普通的商业公司的行为,例如换了leader、换了DBA...因为Uber在2013年也曾经从MySQL迁移到了PostgreSQL......,但是Uber工程师把自己搞不定的问题归咎到数据库产品本身,会让很多业内人士错误的认为PostgreSQL很糟糕。很不负责任的妄议一项技术,这一行为我认为非常不可取,而且,通常来说从MySQL到PostgreSQL的迁移成本会比较低,而从PostgreSQL到MySQL的迁移成本会比较高。

PostgreSQL有一个非常开放的技术社区,如果有问题不能解决,可以发送问题邮件到全球开发组织的邮件组,很快可以得到成千上万热心的hacker帮助。

很有可能,过几年Uber工程师又会从MySQL迁移到其它数据库......

时间: 2024-10-24 18:50:44

专访探探DBA张文升:PG在互联网应用中同样也跑的很欢畅的相关文章

玩转仿探探卡片式滑动效果

讲起本篇博客讲起本篇博客的历史起源,估计有一段"历史"了.的历史起源,估计有一段"历史"了. 最早可以追溯到我试玩探探这个 APP .第一次进入软件界面,就被这种通过卡片式滑动来选择"喜欢/不喜欢"的设计所吸引了.当时就非常想通过自己来实现这种仿探探式的效果,然而却没什么思路.不过毋庸置疑的是,这种效果的原理肯定和 ListView / RecyclerView 类似,涉及到 Item View 的回收和重用,否则早就因为大量的 Item Vie

消息称探探获7000万美元D轮融资 投资方为YY

据探探内部人士向猎云网透露,探探近日完成了7000万美元融资,投资方为YY,且探探有意在2017年底前后登陆资本市场. 此前,猎云网曾对探探做过专访.据了解,2014年9月,主打两情相悦模式的探探正式上线,由王宇亲自带领技术团队开发,P1原班人马运营.从上线之初,外界对探探的定位便是"中国版Tinder",用户通过左右划动切换陌生人名片,左滑再见,右滑喜欢,只有互相喜欢才能聊天. 一方面让用户避免了自己不喜欢的人的打扰.另一方面制造了"一见钟情"的浪漫.探探日活跃用

探探APP提高配对率技巧心得

给各位探探软件的使用者们来详细的解析分享一下提高配对率的技巧心得. 技巧分享:     探探怎么提高配对率: 1.第一张主图的问题. 第一张图必须是本人头像,而且能看清正脸.不能是什么风景.宠物.静物等无关紧要的东西.具体详见探探泡妞前面两讲的内容. 2.个人资料尽量多写一点. 像职业.星座等信息尽量都写上去,这样比较容易有话题.关于文字资料这一块我们之前没怎么细讲,今天在这里就给你们详细的分享一下. 姓名年龄这种就不说了.职业的话,除了学生和IT以外,其他都可以写.公司有就写,没有不写也没关系

Android仿探探卡片式滑动效果实现

前言 第一次进入探探软件界面,就被这种通过卡片式滑动来选择"喜欢/不喜欢"的设计所吸引了.当时就非常想通过自己来实现这种仿探探式的效果,然而却没什么思路.不过毋庸置疑的是,这种效果的原理肯定和 ListView / RecyclerView 类似,涉及到 Item View 的回收和重用,否则早就因为大量的 Item View 而 OOM 了. 再到后来,看到许多大神也推出了同样仿探探效果的博客,从头到尾阅读下来,写得通俗易懂,基本上没什么问题.于是,实现仿探探效果的想法再次出现在脑海

陌陌探探的“翻牌子”配对,真的是陌生人社交的突破口吗

"在吗,约吗",陌陌探探的"翻牌子"配对,真的是陌生人社交的突破口吗 近两年来,社交领域已经鲜少有让人眼前一亮的新品了,一窝蜂的跟风成为常态:一窝蜂地匿名,一窝蜂地做直播,现在又是一窝蜂地"翻牌子".最近,连陌生社交的大佬陌陌也跟风做起了"翻牌子",还用了个跟same神似的icon,山寨意味令人惊呼醉了.喜欢右滑不喜欢左滑,互相都喜欢才能开聊--这种源于美国tinder的配对游戏眼下已经玩烂了. 向右.向右.向右--在寂寞空虚

张文义取代现任CEO王宁国,当选为公司新任执行董事

摘要: 知情人士向记者透露,在7月2日紧急召开的董事会上,十多天前刚刚入选董事会的张文义取代现任CEO王宁国,当选为公司新任执行董事. 资料显示,现年64岁的张文义毕业于清华大学无 知情人士向记者透露,在7月2日紧急召开的董事会上,十多天前刚刚入选董事会的张文义取代现任CEO王宁国,当选为公司新任执行董事. 资料显示,现年64岁的张文义毕业于清华大学无线电系,曾任电子工业部副部长,并曾先后担任陕西彩色显像管总厂厂长.彩虹集团董事长.上海华虹集团董事长等职务,在半导体及彩色显像管行业拥有丰富经验.

探探APP修改名字方法分享

给各位探探软件的使用者们来详细解析分享一下修改名字的方法. 方法分享: 打开软件;     点击[个人中心],选择[设置] 然后账户信息的[姓名]进行修改即可! 好了,以上的信息就是小编给各位探探的这一款软件的使用者们带来的详细的修改名字的方法解析分享的全部内容了,各位看到这里的软件使用者们,小编相信你们现在那是非常的清楚修改的方法了吧,那么各位朋友们就快去按照小编上面带来的方法去修改自己喜欢的名字吧.

探探APP取消屏蔽好友朋友圈方法详解

给各位探探软件的使用者们来详细解析分享一下取消屏蔽好友朋友圈的方法. 方法分享: 打开探探,点击主界面中箭头所指的"三横"符号,接着进入[设置];     然后点击[隐私和通知],随后再进入[已屏蔽用户]列表;     选择所要取消屏蔽的好友,点击其后的[显示],最后点击提示中的[好]就可以了.     好了,以上的信息就是小编给各位探探的这一款软件的使用者们带来的详细的取消屏蔽好友朋友圈的方法解析分享的全部内容了,各位看到这里的软件使用者们,小编相信你们现在那是非常的清楚取消屏蔽的方

中芯国际:任命张文义出任董事长兼代理CEO

新浪科技讯 北京时间7月15日晚间消息,中芯国际周五向港交所提交公告,宣布公司首席执行官王宁国已于7月13日辞职:任命张文义出任公司主席,兼任代理首席执行官,任命自7月15日起生效. 公告表示,将物色候补人填补首席执行官一职.张文义此前于6月30日获任中芯国际董事,并于7月2日出任中芯国际执行董事. 张文义是原电子工业部副部长,之后曾担任华虹集团及旗下子公司华虹NEC的董事长.早期还曾担任彩虹电子集团公司董事长. 中芯国际此前于6月30日发布公告称,王宁国在董事选举中仅获得41.8%赞成票,低于