1.您能简单介绍一下自己吗?您是如何与PostgreSQL社区互动的?
大家好,我叫曾文旌,曾经在国产数据库公司从事数据库内核研发工作。现在在阿里云是数据库内核研发工程师。在阿里云工作的这几年主要孵化了RDS for PostgreSQL服务,研发自研云原生数据库 PolarDB for PG。当前主要精力集中在PolarDB的性能优化和SQL特性的研发上。
PostgreSQL社区是很好的导师,我们从社区学到了很多的研发上的方法和经验,受益匪浅。同时,我们也在尝试向社区回馈一些东西。我们碰到用户需求的特性一般会选择先查看PostgreSQL社区的相关讨论,学习相关经验。如果问题社区没有修复,我们修复后,会尝试修复并贡献到社区。如果相关特性在社区todolist里,但没有完成,我们会先了解该特性在社区的开发进展,咨询一些细节,学习相关经验。当我们开发完成后,可能会选择贡献给社区。
2.您第一次接触PostgreSQL是什么时候?是如何走上产品研发道路的?
在我从业初期,就开始接触PostgreSQL了,大约在2008年。PostgreSQL是先进的开源关系数据库,是理论和实践结合的结晶,很多方面值得开发者学习。
国内一直都有大量的使用数据库的需求,从业至今一直在做数据库内核的开发工作,不断满足用户的需求。我从一些偏向接口的功能的开发工作起步,再到复杂的内核特性开发。随着互联网大潮袭来,阿里积极的推进IT基础设施的去IOE化,自己的本领也有了更大的用武之地,于是加入了阿里。
随着阿里巴巴完成了自身去IOE,公司决定把技术上的能力以云服务的形式输出给全社会,于是我也在这个时候加入阿里云RDS团队,并完成了对RDS for PostgreSQL的孵化。近几年,云原生数据库崛起,并成为数据库发展的新趋势,阿里云也推出了自己的云原生数据库 PolarDB ,于是我也投入到 PolarDB for PG的研发中来。
3.您有参与PG版本功能的迭代吗?主要有哪些贡献?
我自己的工作会有一些和社区进行交互的方面,例如:
- PostgreSQL刚发布9.4, 支持逻辑流复制时,就给社区提过一些逻辑流复制相关的bug。
- 不间断的,参与了一些bug的修复和一些特性的讨论,包括恢复模块和分区表相关。
- 最近一年多,我在PolarDB开发了新特性 Global temp table,从社区学习了很多前人的经验,特性完成开发并上线之后,正在尝试把它贡献给社区,当前已经有300多个邮件讨论,我还在修复一些细节问题。
4.您在产品规划或产品研发中遇到困难一般会如何解决?最让您感觉自豪(有趣)的事是什么?
我自己感到比较自豪的是,随着交付的特性越来越多,且越来越复杂,积累了非常丰富的研发经验。由于团队整体紧密的分工协作,身处在这个团队中,我个人也获得了较大的成长。大家都知道互联网公司的开发模式和传统研发型企业差别比较大。当你完整的完成一个大特性的需求分析,设计和实现直到发布上线,再到不断迭代完善后,会极大的提高自己的信心,并获得很大的成就感。这会促使你想继续挑下一个更难的特性。
5.您团队在PG领域的核心产品新功能主要解决什么问题,目前效果怎么样?
目前我所在团队主力研发的产品 PolarDB for PG 是一款基于计算存储分离架构的云原生关系数据库,主打OLTP场景。PolarDB for PG有着良好的存储扩展能力和计算扩展能力(读扩展-一写多读)和高度的Oracle兼容性,这些是该产品的主要特点。
高度的Oracle兼容得益于PostgreSQL优良的基础架构,以及我们在此基础上研发的大量Oracle兼容性特性,这使得我们做去O迁移的实施成本相对较低,迁移周期和风险也比较可控。目前,在公共云上已经商业化1年多,帮助数百个客户(包括电商,新零售等行业)完成了数据库的去O和上云任务。当前,我们的产品主攻电信、金融和保险等行业,在国产化大潮下,帮助更多的客户完成IT服务国产化。
6.您认为数据库产品未来如何发展才会更有生命力?
我的理解,未来必定是满足最多用户需求的产品级数据库,会有很强的生命力。另一方面也是十分重要的,产品若要大规模应用,就需要围绕产品建设一个完整的生态。
7.近期对建设产品生态有什么计划吗?
这几年,阿里云也在重点打造云服务的生态。当前,国内IT服务,包括数据库面临大量国产化的需求,需要大量生态伙伴一起完成。这部分也存在巨大的商机。
8.最后,您对想从事P*品或技术研发的网友们有什么建议吗?
PostgreSQL是优秀的开源关系数据库,无论国际还是国内,都有很多公司站在PostgreSQL的肩膀上研发出了更优秀的产品,实现了巨大的商业价值。同时PostgreSQL本身的生命力也越来越强大。数据库的研发工作是值得挑战并很有前途的,适合作为长期的事业。未来必然有大量的需求(尤其国产化背景),这需要大量的研发人才,希望有更多的同学参一起参与到其中来。