设为首页收藏本站

LUPA开源社区

 找回密码
 注册
文章 帖子 博客
LUPA开源社区 首页 业界资讯 开源资讯 查看内容

PostgreSQL德哥:技术是为业务服务的

2017-6-29 21:21| 发布者: joejoe0332| 查看: 1566| 评论: 0|原作者: oschina|来自: oschina

摘要: 作为世界先进的开源数据库,PostgreSQL 的市场占有率在不断提升,其在国内的发展,也越来越受到企业和用户的关注。和其它开源数据库相比,PostgreSQL 有哪些亮点和不足?已经发布测试版的 PostgreSQL 10 又有哪些新 ...
作为世界先进的开源数据库,PostgreSQL 的市场占有率在不断提升,其在国内的发展,也越来越受到企业和用户的关注。和其它开源数据库相比,PostgreSQL 有哪些亮点和不足?已经发布测试版的 PostgreSQL 10 又有哪些新特性值得关注?本期【开源访谈】邀请到 PostgreSQL 中国社区发起人周正中(德哥),听听他对 PostgreSQL 的看法和期望,聊聊他与 PostgreSQL 结缘的那些事儿。

【本期嘉宾】

    digoal (德哥),现任职于阿里云数据库内核技术架构组。PostgreSQL 中国社区发起人之一、常委、兼任社区大学校长;PostgreSQL 中国社区杭州分会会长;PostgreSQL 中国社区大学发起人之一。也是中国开源软件推进联盟 PostgreSQL 分会特聘专家;DBA+ 社群联合发起人之一;DBGeeK 联盟专家团成员。14 项已授权数据库相关专利。

【访谈内容】

1、请简单地介绍一下您自己(技术背景、学习经历、工作经历)。

    大家好,我是 digoal ,目前就职于阿里云数据库内核技术架构组。我从 2006 年开始接触数据库,当时对 Oracle 比较痴迷,经常啃 Oracle 的英文文档到半夜。现学现卖,在当时非常流行的播布客在线教育平台进行了一些分享,逐渐养成了分享的习惯。2008 年我加入一家移动互联网公司-斯凯,当时公司处于起步阶段,人比较少,使用的数据库比较繁杂,包括 Oracle、MySQL、PostgreSQL、mongo 等众多主流的数据库。从 IDC、网络、主机、存储、操作系统、数据库到业务几乎什么都要接触,这种状况下非常历练人。也见证了斯凯从创业到纳斯达克上市的阶段,上市前顺利的完成了所有业务系统的 O 转 P 工作。负责数据库整体系统、存储、主机、操作系统、多 IDC 的架构设计和建设;完成对数据库HA、容灾、备份、恢复、分布式、数据仓库架构设计和建设;并建立了数据库管理和开发的标准化体系。也就是在斯凯,我接触到了 PostgreSQL ,它是一个非常开放,功能非常先进,社区非常的活跃,代码非常的优雅,产品非常的稳定的数据库,我很看好它。2011 年是 PostgreSQL 中国用户会成立的第一年,一群有情有义的年轻人,带着对 PostgreSQL 的执着和热情,开启了推动 PostgreSQL 在中国的技术普及和发展的新篇章。

    2015 年,我加入阿里云。我认为云计算是未来的方向,可以降低企业的成本,提高企业 IT 资源的伸缩性,让更多好的产品在云上触手可及。而且随着云计算的发展,物联网的兴起,数据库复杂计算需求的增多,数据模型越来越复杂,PostgreSQL 的普及会越来越快。现在已经有来自金融、电力、运输、新零售、政府、科研等行业龙头企业的核心数据库在使用 PostgreSQL 。

2、是因为什么接触和喜欢上 PostgreSQL 的?它最吸引你的地方是什么?

    入职斯凯后,因为工作需要,接触了 PostgreSQL 。但是真正喜欢上 PostgreSQL ,是因为它非常开放,功能非常先进,社区非常的活跃,代码非常的优雅,产品非常的稳定。最重要的是在 PostgreSQL 社区结识了一群有情有义的技术好基友。

    PostgreSQL 不仅仅是一个数据库,更是一个数据工厂,它可以通过 PL/language 对接软件生态;通过开放的类型、OP、IDX、AGG、WIN 等对接行业生态,支持各种行业(基因、化学、医疗、图像搜索等);通过开放的 FDW 接口,对接更多的外部数据源;通过 SCAN 接口对接硬件生态,例如 GPU\TPU\FPGA 等。

3、学习过程中是怎么一步步提高自己的技术能力的,有没有一些心得分享?

    从我的角度来给一些建议的话,主要有三点:

    一是仔细的阅读官方文档、看代码。多实践,证实自己的想法。多参与社区的交流,多帮助别人,多分享自己的想法。

    二是要有 GEEK 的理念,一个问题有很多解法,多思考不同的解法。

    三是有问题先思考,不要一开始就求助,真的找不到答案时,可以多看一下 stackoverflow 。

4、对于普通技术人员来说,遇到问题可以请教高手。那对于您这样的技术大神遇到阻力时,会如何去解决?

    其实解决问题的方法总比问题多,所以有问题一定要先思考,如果想不出来,可能是你对产品本身的理解不够透彻,或者对业务的理解不够透彻。那就继续深入的学习,学习文档,学习源码,理解业务的本质。

5、和其它开源数据库相比,PostgreSQL 有哪些亮点和不足?

    先说亮点:

  1. BSD 许可;
  2. 功能强大,支持多核并行,LLVM,向量计算,列存储扩展,外部数据源扩展,插件。支持各种数据类型(除了常规类型,还包括 GIS 、全文检索、JSON、KV、XML、RANGE、数组、枚举、复合等类型),支持多种索引接口(btree,hash,gin,gist,spgist,brin,rum,bloom等),支持非常丰富的 SQL 语法(例如 空间搜索、窗口查询、多维分析、递归查询、HASH,MERGE,NEST JOIN、HASH,GROUP AGG、MERGE SORT 等);
  3. 接口开放,前面也有说到,通过 PL/language 对接软件生态,通过开放的类型、OP、IDX、AGG、WIN 等对接行业生态,支持各种行业,通过开放的FDW接口,对接更多的外部数据源,通过 SCAN 接口对接硬件生态。

    不足的话,XID 还是 32 位的,会带来一次额外的 FREEZE 开销。不过社区正在对此进行改进,未来会支持 64 位,彻底抛弃 FREEZE 。

6、怎么看待开源数据库的未来走向?

    我认为具体会包含以下方面:

  1. 开放接口,对接硬件生态,从单一的围绕 CPU 设计转向围绕多种计算单元,包括 CPU\GPU\FPGA\TPU 的设计。
  2. 更好的利用硬件级指令,例如向量计算。
  3. 开放接口,对接软件生态,打破 SQL 瓶颈,将更多的编程语言集成到数据库中。
  4. 开放接口,对接云端生态,通过开放的接口,与云端其他组件无缝融合,例如阿里云提供的 oss_fdw ,PostgreSQL 可以和云端对象存储 OSS 无缝融合。
  5. 开放接口,对接存储生态,支持更多格式的存储,例如 parqut, orc 等。
  6. 开放接口,对接业务生态,例如 PG 通过开放类型、OP、IDX 等接口,对接了更多纵深行业(图像特征搜索、基因、化学、医疗等,有特殊数据存储、搜索需求的行业)。
  7. 流计算,降低怠速开销,提升分析型查询的性能。
  8. 横向扩展能力,内置 MPP ,SHARDING 的功能。

7、PostgreSQL 10 已经在测试了,最喜欢或最看好的新特性是什么?

    PostgreSQL 10 的很多特性其实都很不错,包括:

  1. quorum 级多副本,用户可以指定事务的副本数,对可靠性要求高的会话,使用多副本保证数据 0 丢失,对可靠性要求低的事务使用单副本甚至异步提升响应速度。
  2. 多核并行增强,支持排序、JOIN、聚合、bitmap scan、MERGE SORT、全表扫描、建索引、多分区扫描、多外部数据源扫描的并行,更加有效的利用服务器的资源,提升 SQL 的响应速度。
  3. 逻辑订阅,支持表级订阅,业务架构设计时,通过逻辑订阅可以实现多实例的数据共享,甚至 multi-master 。
  4. sharding 增强,支持 sort, where, join, agg 的下推。
  5. libpq 支持读写分离。
  6. ICU 支持,各国字符编码一致性保障。
  7. JIT 支持,使得大量数据处理性能有质的飞越。

8、对于数据库相关的技术从业新手,有怎样的一些建议?

    请记住技术是为业务服务的,数据库是基础软件,深入的了解它还不够,还需要更深入的了解业务,了解行业。让数据库可以更好的帮助业务发展。

    另外,拿 PostgreSQL 来说,由于其开放性,我们不仅仅需要学习数据库本身,还需要通过 PG 的扩展,去纵深的了解各个对应的行业。


酷毙

雷人

鲜花

鸡蛋

漂亮
  • 快毕业了,没工作经验,
    找份工作好难啊?
    赶紧去人才芯片公司磨练吧!!

最新评论

关于LUPA|人才芯片工程|人才招聘|LUPA认证|LUPA教育|LUPA开源社区 ( 浙B2-20090187 浙公网安备 33010602006705号   

返回顶部