我的编程空间,编程开发者的网络收藏夹
学习永远不晚

关于 Postgres 独特之处的采访 —— 扩展

短信预约 信息系统项目管理师 报名、考试、查分时间动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

关于 Postgres 独特之处的采访 —— 扩展

本文作者:Craig Kerstiens ,目前在负责 @citusdata 的云团队。Citus 将 Postgres 扩展为可水平扩展的分布式数据库。本文是他之前一个好友采访他的记录(英文原文请看这里)。

以下是采访内容:

我之前时常跟各种开发者共进晚餐,基本上都认为开发者(包括他们自己)可能会有些自以为是。例如,有人说:“我爱Postgres,但我不知道为什么。” 我想他们应该是坐错了餐桌,以 Postgres 为例。。。经常有人问 我为什么选择 Postgres。

实际上,一年多以前,好朋友 Dimitri Fontaine 在写一本 Postgres 的书,他询问是否可以采访我。我一直说他们缺少关于 Postgres 的好书,不过这个好友做了一件非常好的事,这本书提供针对开发人员(也包括 DBA)提供了很好的指南。但他希望能做得更好。

接下来是本书访谈的摘录。

介绍

自从被 Microsoft 收购以来, Craig 领导了@citusdata 云团队 ,该团队现在正在运行 Azure Postgres 的产品。Citus 将 Postgres 扩展为可水平扩展的分布式数据库。如果您有一个数据库,尤其是Postgres,则需要扩展到更多的节点(通常在100GB以上),Craig 总是很乐意聊天,看看 Citus 是否可以提供帮助。

Craig 之前在 @heroku PaaS 平台上工作了很多年,这个平台消耗了大量的 IT 资源,使得开发人员专注于构建功能和增加价值。Craig 在 Heroku 的大部分时间都花在了 Heroku Data 的产品和营销上。

您认为 PostgreSQL 开源项目和生态系统的扩展有多重要?

对我而言,扩展API和不断扩展的扩展生态系统可能是过去10年 Postgres 的最大进步。扩展功能使 Postgres 可以从传统的关系数据库扩展到更多的数据平台。无论是 hstore 中的初始 NoSQL 数据类型(不包括XML),还是GIS地理空间中丰富的功能集,或者近似算法(例如HyperLogLog或TopN),您都可以通过扩展本身将Postgres带入新的领域。

扩展功能使得数据库核心本身可以以较慢的速度发展。核心中的每个新功能都意味着它必须经过全面测试和安全。这并不是说扩展没有,而是可以存在于核心之外,这样才使得这些扩展的功能可以快速增长。

您最喜欢的 PostgreSQL 扩展是什么,为什么?

我最喜欢的三个扩展是:

  1. pg_stat_statements
  2. Citus
  3. HyperLogLog

pg_stat_statements对于应用程序开发人员而言,它无疑是最强大的扩展,无需深入了解数据库内部知识即可获得洞察力以优化其数据库。对于许多应用程序开发人员来说,数据库是一个黑匣子,而pg_stat_statements使用 AI 的强大基础,可以让您的数据库能够得到及时改进。

Citus:我当然会因为在那儿工作而有偏见,但是在加入之前,我关注了Citus和pg_shard长达三年。Citus将Postgres变成了一个水平可扩展的数据库。在后台进行分片,但应用程序开发人员不必考虑或了解这种复杂性。有了Citus,Postgres可以处理比以往更大的负荷量,因为以前的Postgres都被限制在一个盒子或过于复杂的架构中。

HyperLogLog:我要坦白。在某种程度上,我只是喜欢这么说:当您了解算法本身后,你会觉得自己很傻逼。“ K最小值,可观察的位模式,随机平均,谐波平均。”我的意思是当我们在用这些特性时候,干嘛一定非得很熟悉这些算法本身呢?简而言之,HyperLogLog 足够独特,而且占用的存储空间很小。如果您要构建类似Web分析的工具,那么HyperLogLog无疑是一个不错的选择。

您通常如何找到可能需要的扩展?或者说,您怎么知道您可能首先需要PostgreSQL扩展?

pgxn.org和github是我的两个建议。尽管Google往往也表现良好。当然,我还通过PostgresWeekly.com来了解最新消息。

实际上我常常不总是意识到自己需要一个。我搜索我要解决的问题并发现它。我可能永远不会搜索HyperLogLog,但是搜索Postgres近似计数或近似非重复的时候就能很快找到它。

您的应用程序代码库现在依赖某些PostgreSQL扩展才能运行时,您是否会想到任何弊端?例如,我可能需要扩展在云和SaaS产品中的可用性。

这个要看具体是什么扩展,有些扩展问题比较多,而有些扩展则更加成熟。许多主要的云提供商都支持一系列扩展,但它们不支持更多新的扩展。如果支持它,那么使用上就不会有太大的弊端。如果没有,您需要权衡自己运行和管理Postgres的成本,以及该扩展所提供的价值。就像管理所有事物与不管理所有事物一样,这里需要权衡取舍,您需要确定哪一个适合您。

如果您正在寻找有关Postgres的更深入的资源,我建议您读《PostgreSQL的艺术》一书。它是由一个私人朋友设计的,旨在从开发人员的角度为Postgres创建权威指南。如果使用代码CRAIG15,您还将获得15%的折扣。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

关于 Postgres 独特之处的采访 —— 扩展

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

关于 Postgres 独特之处的采访 —— 扩展

本文作者:Craig Kerstiens ,目前在负责 @citusdata 的云团队。Citus 将 Postgres 扩展为可水平扩展的分布式数据库。本文是他之前一个好友采访他的记录(英文原文请看这里)。 以下是采访内容: 我之前时常跟各种开发者共进晚餐
关于 Postgres 独特之处的采访 —— 扩展
2022-04-20

Go语言的优势展示:它的亮点和独特之处在于哪些方面?

Go语言,由谷歌于2007年推出,因其出色的并发编程能力、高效的垃圾回收机制以及跨平台的可移植性,迅速成为备受欢迎的编程语言。在众多领域中,Go语言凭借其独特优势,展现出耀眼的光芒。1. 高并发编程能力:Go语言采用CSP(通信顺序进程
Go语言的优势展示:它的亮点和独特之处在于哪些方面?
2024-02-01

编程热搜

目录