唐成专访:从新手到专家,PostgreSQL的成长之路

发表时间: 2015-06-08 00:00

唐成,拥有十几年数据库、操作系统、存储领域的工作经验。目前任沃趣科技首席数据库架构师,从事数据库高可用、高性能以及数据库云化等方面的研究工作。历任阿里巴巴数据库专家、高级数据库专家,从事过阿里巴巴的线上Oracle、Greenplum、PostgreSQL数据库的架构设计和运维工作,为阿里巴巴的PostgreSQL数据库的布道者,推动阿里云的关系型数据库服务(RDS)中提供PostgreSQL数据库服务,为阿里巴巴PostgreSQL数据库方面的技术带头人。也曾任网易杭州研究院开发专家,主导了网易云计算中的云硬盘产品(类似amazon有EBS)的设计和开发。

日前,CSDN采访了唐成,请他分享数据库PostgreSQL发展现状以及未来趋势,以及从一名小工到专家的修炼之道。

唐 成

CSDN:你是从什么时候开始从事数据库工作的?有没有什么故事可以分享给大家?

唐成:在上大学时到工作的时间中,一直与数据库打交道。

  • 在1995年上大学期间接触了Foxbase数据库, Foxbase是一个单机的数据库,也可以是说是一门解释型的编程语言,可能现在一些年轻的人已不太知道这个东西了,但较早时期的人都对Foxbase留下了较深的印象,那时候很多信息系统都是用Foxbase完成。
  • 1997年正式到电信公司工作,主要做计费工作,那时使用的也是Foxbase,那时就觉得使用数据库很方便,比写程序存取数据方便多了。
  • 1997年底,当时的邮电部电信总局在全国提出要开发和建设一个叫“市内电话业务计算机综合管理系统”的工程,即“九七工程”,这是中国电信行业信息化的开端,当时我所在的省新疆电信使用的是Sybase数据库,第一次接触过Sybase数据库,那时感觉Sybase数据库比Foxbase先进多了,能共享数据多个同时访问,有事务的功能。
  • 后来在2002年接触到Oracle数据库,感觉Oracle数据库又比Sybase强了一些,锁可以做到行级别,而且可以双机跑同一个数据库,访问任一台机器看到的都是一样的,即当时的OPS技术(RAC技术的前身)。
  • 大约在2006年左右,接触到了PostgreSQL数据库,现在也记不清楚怎么接触到的PostgreSQL,当时好象是看看有什么象Oracle的开源数据库。
  • 真正成为一名正式的DBA,是在2008年加入阿里巴巴之后。那时开始专职搞数据库,那时也开始认真的学习PostgreSQL数据库,当时越学习越感觉PostgreSQL功能的强大,如表字段还可以用数组类型,如以前没有听过的一些索引的概念如Gist索引、部分内容索引。当时PostgreSQL良好的架构可以让人容易的扩展它的功能以及优美的源代码让我越来越喜欢上了PostgreSQL数据库。

CSDN:是什么原因促使你写下《PostgreSQL修炼之道:从小工到专家》这本书的?经历了多久完成著作的?这本书适合什么样的读者?

唐成:当时参加PostgreSQL中国社区时,大家在一起讨论的,就感觉中文的学习资源比较少,包括我自己学习的时候,也是感觉中文资料比较少,虽然看英文的资料也可以,但实际上对于母语不是英语的人来说,看英文的速度终究比中文慢一些。另在网上找的一些资料总是比较零散一些,不容易串起来。当时就想写一本PostgreSQL的书,尽量能把PostgreSQL的方方面面都能介绍到。当然最后下定决定写这本书,还是编辑lisa找到我的时候。

这本书从2013年中到现在完成,大约花了近两年的时间,因为都是靠业余时间完成的,所以写的比较慢,直到今年5月才正式出版本。个人觉得这本书首先适合数据库的入门者。

PostgreSQL是目前开源功能最强大的数据库,很多先进的数据库理念和功能都能在PostgreSQL中找到。PostgreSQL数据库的创始人Michael Stonebraker获得了2014年的图灵奖。到目前为止,数据库领域总共只有4个人获得图灵奖,前三位为1973 年 Bachman(数据库与网状数据库)、1981 年 Codd(关系数据库)、1998 年 Gray(数据库与事务处理)。

所以PostgreSQL数据库是数据库科学家们努力的一个结晶,初学者通过学习PostgreSQL能打实数据库的理论基础,掌握数据库领域中一些新进的技术。这本书还适合Oracle和MySQL的DBA,由于这本书把PostgreSQL数据库的方方面面都介绍了,Oracle和MySQL的DBA通过快速学习这本书,可以快速掌握PostgreSQL数据库的知识,即使你在工作中暂时用不到PostgreSQL,但学习PostgreSQL数据库可以让你拓宽视野。这本书还适合PostgreSQL数据库相关的开发人员,通过此书可以快速掌握PostgreSQL数据库方面的知识,让你开发出的程序更健壮,同时PostgreSQL良好的架构和丰富的接口让你容易扩展PostgreSQL数据库的功能,不必什么都自己实现,减少程序的代码量。

CSDN:作为数据库方面的专家,你怎么看待PostgreSQL目前以及未来的发展状况?

唐成:PostgreSQL数据库是数据库科学家们努力的一个结晶,所以在早期易用性不是太好,但在9.X版本之后,这种情况已经改变。9.0之后提供了流复制,可以搭建与Oracle类似的Standby,Standby可以做到只读,9.1、9.2、9.3、9.4这部分功能都一直在增强。9.4强大的JSBONB类型又可以把PostgreSQL数据库变成一个NOSQL数据库。目前社区越来越活跃,从DB-Engines网站数据库排名及分值,PostgreSQL数据库的人气越来越高,说明今后的发展会越来越好。

CSDN: PostgreSQL目前在国内外非常流行,你认为是什么造就了它的流行?与传统的关系型数据库相比,PostgreSQL有哪些优势?

唐成:PostgreSQL数据库越来越来流行,2015年的DTCC也设置了PostgreSQL的专场,这个结果是PostgreSQL厚积薄发的结果。PostgreSQL在早期的发展过程中,一直在打实基础,看看PostgreSQL的功能以及优美的源码就知道了。当建造一个建筑物时,开始打地基时,都是比较慢的,但如果把地基打的很结实合理,后面的速度就会大大增快。

与传统的关系型数据库相比,PostgreSQL数据库具备了一些NOSQL数据库的特点,如可以存JSON数据到数据库中,还可以在JSON数据的内部键值上建索引(类似全文检索的功能),字段类型可以支持数组类型,这样可以方便的把半结构化的数据存入其中。同时PostgreSQL与一些NOSQL一样提供了灵活的接口,便于扩展功能。

CSDN:在你看来,PostgreSQL对传统数据库是否构成威胁?传统数据库有哪些痛点呢?

唐成:不能说PostgreSQL数据库对传统数据库构成了威胁,但可能会终结Oracle数据库在传统数据库领域一家独大的情况。传统数据库不开源,不容易扩展功能,数据库系统比较重,安装包动则几个GB大小,不容易在云中部署,不能存储非结构化数据库,不能快速应对业务的变化。

CSDN:国内有哪些企业在使用PostgreSQL?能否例举一二。数据库的规模达到什么级别?

唐成:在国内,斯凯网络(股票代码:MOBI)和去哪儿网(qunar.com)的后台数据库基本使用的都是PostgreSQL数据库;腾讯和阿里也部分使用了PostgreSQL数据库。几百G大小的数据库非常多,几TB大小的数据库也经常见。阿里云和青云的平台都提供了PostgreSQL数据库。

CSDN:作为一名数据库专家,有什么使用经验可以分享给读者的?

唐成:其实也没有好的经验,只要对数据库有浓厚的兴趣,按本书或网上的一些教程搭建一个PostgreSQL环境学习, 不断的学习,不断地结合理论进行实践,你一定能成为一名数据库专家的。(欢迎下载《PostgreSQL修炼之道:从小工到专家》试读样章。)

PS:值得一提的是,CSDN将特别策划一期新型数据库专题,现面向广大网友征稿,与我们分享您的故事,与同行交流技术经验,欢迎投稿;详情请查看征文活动。

CSDN现开启图书作者专访栏目,欢迎推荐采访人或自荐,来分享你的成长经历和相关技术,相关信息请发送邮件至:xiamz#csdn.net(#换成@)。更多精彩内容,请点击社区之星或搜索关键字图书作者查看。