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

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 他是如何从一名路人变成一个使用者,并逐渐成为PG社区核心成员和志愿者的?对PG,张文升又有什么不一样的经验和看法?
d2a533c2c730e156ff4da35268e85b91f8ac9179
张文升认为,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迁移到其它数据库......
TB19yMiNXXXXXcAaXXXXXXXXXXX-908-100.jpg
相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
14天前
|
关系型数据库 分布式数据库 数据库
锦鲤附体 | PolarDB数据库创新设计赛,好礼不停!
锦鲤附体 | PolarDB数据库创新设计赛,好礼不停!
|
5月前
|
弹性计算 Oracle 关系型数据库
技术好文共享:谁说阿里云不能跑Oracle,让驻云架构师告诉你怎么办!
技术好文共享:谁说阿里云不能跑Oracle,让驻云架构师告诉你怎么办!
46 0
阿里大牛撰写"星耀级"MySQL DBA工作笔记!颠覆我对数据库的认知
MySQL是开源数据库方向的典型代表,它拥有成熟的生态体系,同时在可靠性、性能、易用性方面表现出色,它的发展历程见证了互联网的兴衰与成长。 在 DeveloperWeek 上曾发起一个调查,超过 3/5 的受访者使用 SQL,其中MySQL 以 38.9% 的使用率高居榜首,其后依次是 MongoDB(24.6%)、PostgreSQL(17.4%)、Redis(8.4%)和 Cassandra(3.0%)。毫无疑问,以MySQL为主的开源技术生态正变得越来越流行。同样的,对我们掌握MySQL也迫在眉睫。那么,接下来,就让小轩带领大家来深入了解MySQL吧!
|
Oracle 关系型数据库 数据库
炫“库”行动-人大金仓有奖征文—谈谈oracle建表规范
今天突然想把工作几年在oracle建表相关的知识整理成一个像样的文档分享给大家,为达到数据库开发规范、后期维护方便等目的编写此篇文章,希望大家能重视数据库建表这个“小小的问题”,从小处见大学问,欢迎大家一起讨论。
221 0
|
弹性计算 Java 数据库
第四届数据库大赛赛道2分布式NewSQL测试c++代码运行
第四届数据库大赛赛道2分布式NewSQL测试c++代码运行
144 0
第四届数据库大赛赛道2分布式NewSQL测试c++代码运行
|
存储 运维 Cloud Native
阿里云PolarDB数据库获评 “人民匠心2021年度推荐技术案例 ”
PolarDB凭借在国产自研数据库技术领域的重要创新和规模化成功应用入选
283 0
阿里云PolarDB数据库获评 “人民匠心2021年度推荐技术案例 ”
|
SQL 存储 Oracle
数据库大讲堂·第一期 云时代DBA会失业么?——《云时代的DBA职业规划&数据库上云新玩法》
本次分享邀请了阿里云数据库产品经理姜皓楠(昊楠)为大家介绍对云数据库时代DBA职业规划的个人见解,分享职业生涯中的重要决策点。并详细为大家解读传统DBA价值以及云数据库时代的DBA发展方向,讲解阿里云数据库现状以及数据库上云新玩法。
5954 0
数据库大讲堂·第一期 云时代DBA会失业么?——《云时代的DBA职业规划&数据库上云新玩法》
|
NoSQL Oracle 架构师
校招季|OceanBase主架构师杨传辉:数据库行业即将进入井喷期,现在加入恰逢其时
又到一年就业季,大学里的莘莘学子即将走出象牙塔,面临人生的重大抉择。今年由于疫情,全球经济面临挑战,很多行业受到影响,同学们在选择人生中第一份工作的时候,也应该更加慎重。我们正在迈入数据智能时代,数据库作为数据智能时代的底层基础设施,在新的环境下焕发出新活力。数据库行业前景如何,想要进入数据库行业需要具备什么条件,我们邀请了蚂蚁金服研究员兼OceanBase主架构师杨传辉老师,来谈谈他的看法。
621 0
校招季|OceanBase主架构师杨传辉:数据库行业即将进入井喷期,现在加入恰逢其时
|
SQL 关系型数据库 数据库
专访阿里资深研发工程师窦贤明:PG与商业数据库差距并不明显
在同台机器未做任何优化的情况下测试TPCC,PG与商业数据库的差距并不明显。如果不是极端或特殊的应用场景,性能上差距是比较小的,“这还是原生的,不算我们内部做的性能优化。”他指出。
7951 0
|
SQL 弹性计算 安全
阿里十年DBA经验产品经理:真的不要再有一起删库跑路事件了
本文作者:胜通,阿里云数据库产品专家
5519 0