PG中国开发者社区—周祥PG峰会专访

1.您第一次接触PostgreSQL是什么时候?是如何走上产品研发道路的?
大家好,我是周祥,阿里云数据库高级产品专家。我第一次接触PostgreSQL是在学生时代,应该是在大学本科毕业设计时,一个电信系统面向SOA架构的设计课题,课题实施中需要开源数据库来存储基础的业务数据,当时在MySQL和PostgreSQL中做了比较和选择,原因比较简单,是伯克利写的发展过来的,代码很优秀,就选择了PostgreSQL。研究生实习期间,是在IBM DB2 for z/OS的中国研发团队实习,毕业后就加入了这个部门,开始从一些数据库优化工具做起,参与到DB2的产品内核开发中。

2.您在产品规划或产品研发中遇到困难一般会如何解决?最让您感觉自豪(有趣)的事是什么?
当我工作一段时间在一个领域中有一定的积累后,遇到困难首先还是要独立思考,有架构设计的问题,有代码bug的问题等。独立思考、分析后,还需要与项目和团队成员充分讨论。涉及架构设计的问题,充分讨论显得尤其重要,集合众人的智慧避免一些架构上的缺陷和潜在的坑;涉及到一些比较难的代码bug问题,我的经验是需要更独立、深入debug root cause。
最让我感觉有趣的事,是在4年前的一个非常重大项目中,临近业务上线前1周,由于新的业务查询和负载的上线,我们数据库系统模块开始频繁core dump。在业务压力很大的情况下,我拉上了集团在JVM(我们这个数据库系统是Java实现)领域的专家一起分析,定位出unsafe API操作相关导致的地址overlap问题,但是具体是什么原因、哪一块代码导致的地址overlap?这个问题纠结了2天时间,最终在系统代码中把所有Java相关unsafe操作的代码拉出来分析,才发现是历史上我们在Java 6时代,对一个开源Java 8 beta版本中Stream特性的代码的提前复制使用有关,不同的变量长度导致地址overlap,发现这个问题已经是业务上线deadline的前2天了。修改完了胆战心惊,在业务上线前的最后一天上线测试,发现问题并解决。当时的压力场景和解决完问题后的感觉现在想想是很有趣的事情。
3.您认为数据库产品未来如何发展才会更有生命力?
数据库已经是业务系统的不可缺少的基础设施,云时代尤其如此。数据库系统本身相对来说,是非常复杂的技术实现和产品,但是它的作用和定位又是简单清晰的。个人认为数据库未来在云上是要充分利用云的能力,做得和水、电一样易用,水和电的使用几乎没有门槛。但是如果只看数据库,其实上手和入门门槛挺高的,而更多地被集成、与业务应用地打通,能够让数据库更加广泛地使用。同时,与业务、应用高效协同,也可以让数据库的推广和应用更加迅速和顺畅。
4.您对产品生态发展有什么见解?近期对建设产品生态有什么计划吗?
数据库产品还是坚持被集成的道路,对上层业务、应用软件的集成、兼容做到足够好,比如ERP、CRM等企业级软件的互认证;对数据库生态工具的集成、兼容;对迁移、备份恢复、ETL、BI软件等的互认证。这些基础的被集成工作做好,才意味着更大市场应用空间和更低的使用门槛。我们也会在这条路上坚定地走下去。

上一篇:每天一个linux命令--whereis(2)


下一篇:Mac修改主机host地址