PG中国开发者社区—曾文旌PG峰会专访

本文涉及的产品
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
简介: 曾文旌,阿里云数据库高级技术专家。

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.最后,您对想从事PG产品或技术研发的网友们有什么建议吗?
PostgreSQL是优秀的开源关系数据库,无论国际还是国内,都有很多公司站在PostgreSQL的肩膀上研发出了更优秀的产品,实现了巨大的商业价值。同时PostgreSQL本身的生命力也越来越强大。数据库的研发工作是值得挑战并很有前途的,适合作为长期的事业。未来必然有大量的需求(尤其国产化背景),这需要大量的研发人才,希望有更多的同学参一起参与到其中来。

相关实践学习
使用PolarDB和ECS搭建门户网站
本场景主要介绍如何基于PolarDB和ECS实现搭建门户网站。
阿里云数据库产品家族及特性
阿里云智能数据库产品团队一直致力于不断健全产品体系,提升产品性能,打磨产品功能,从而帮助客户实现更加极致的弹性能力、具备更强的扩展能力、并利用云设施进一步降低企业成本。以云原生+分布式为核心技术抓手,打造以自研的在线事务型(OLTP)数据库Polar DB和在线分析型(OLAP)数据库Analytic DB为代表的新一代企业级云原生数据库产品体系, 结合NoSQL数据库、数据库生态工具、云原生智能化数据库管控平台,为阿里巴巴经济体以及各个行业的企业客户和开发者提供从公共云到混合云再到私有云的完整解决方案,提供基于云基础设施进行数据从处理、到存储、再到计算与分析的一体化解决方案。本节课带你了解阿里云数据库产品家族及特性。
目录
相关文章
|
关系型数据库 C语言 PostgreSQL
PostgreSQL服务端开发学习 --- 常用结构及宏定义1
本篇主要讲解使用C语言开发PostgreSQL服务端应用(libpq、自定义函数、扩展)常用到的结构及宏定义。
最新jsonwebtoken-jjwt 0.12.3 基本使用
最新jsonwebtoken-jjwt 0.12.3 基本使用
3592 1
|
JSON 前端开发 JavaScript
javascript:layui实现定位、查询数据以及select筛选的组合功能
javascript:layui实现定位、查询数据以及select筛选的组合功能
570 0
|
小程序
uni-app——一键获取用户信息
一键获取用户信息
523 0
|
弹性计算 自然语言处理 安全
国内基础大模型的独立性及应用大模型的依赖性
本文探讨了国内基础大模型(如阿里巴巴的通义千问)的独立性及其应用大模型的依赖性。详细分析了这些模型的研发过程、应用场景及技术挑战,包括数据收集、模型架构设计和算力支持等方面。同时,讨论了微调模型、插件式设计和独立部署等不同实现方式对应用大模型的影响。
317 0
|
SQL 缓存 监控
如何在数据库查询中使用参数化查询?
【4月更文挑战第30天】如何在数据库查询中使用参数化查询?
577 1
|
JSON 关系型数据库 MySQL
MySQL全文搜索与JSON支持:高效检索与灵活数据处理
本文深入探讨了MySQL数据库中的全文搜索与JSON支持,通过详细的代码示例,阐述了全文搜索的原理、全文索引的创建,以及JSON数据类型的使用与操作。全文搜索在数据库中的重要性日益凸显,MySQL提供了全文索引来实现高效的文本数据检索,通过MATCH AGAINST语句,可以轻松地进行全文搜索操作。此外,MySQL的JSON支持为半结构化数据的存储和查询提供了灵活的解决方案,您可以存储JSON对象、数组等数据,并使用JSON函数来查询和修改数据。
1561 0
|
测试技术 Python
【Python自动化测试】:Unittest单元测试与HTMLTestRunner自动生成测试用例的好帮手
【Python自动化测试】:Unittest单元测试与HTMLTestRunner自动生成测试用例的好帮手
422 0
|
机器学习/深度学习 存储 算法
梯度下降算法(一)
梯度下降是一种迭代优化算法,用于找到多变量函数的最小值。它不直接求解方程,而是从随机初始点开始,沿着梯度(函数增大幅度最大方向)的反方向逐步调整参数,逐步逼近函数的最小值。在单变量函数中,梯度是导数,而在多变量函数中,梯度是一个包含所有变量偏导数的向量。通过计算梯度并乘以学习率,算法更新参数以接近最小值。代码示例展示了如何用Python实现梯度下降,通过不断迭代直到梯度足够小或达到预设的最大迭代次数。该过程可以类比为在雾中下山,通过感知坡度变化来调整前进方向。
Vue3+Vite+Pinia+Naive后台管理系统搭建之五:Pinia 状态管理
Vue3+Vite+Pinia+Naive后台管理系统搭建之五:Pinia 状态管理
249 1