posterior descending artery_poster session

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

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

posterior descending artery_poster session

以下是采访内容:

我之前时常跟各种开发者共进晚餐,基本上都认为开发者(包括他们自己)可能会有些自以为是。例如,有人说:“我爱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%的折扣。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/10844.html

(0)
上一篇 2022-12-20 21:00
下一篇 2022-12-20

相关推荐

  • mysql逻辑运算符_逻辑运算符的优先级

    mysql逻辑运算符_逻辑运算符的优先级学习重点 通过使用逻辑运算符,可以将多个查询条件进行组合。 通过 NOT 运算符可以生成“不是~”这样的查询条件。 两边条件都成立时,使用 AND 运算符的查询条件才成立。 只要两边的条件中有一个成立

    2023-04-27
    104
  • mapreduce的原理_深入理解redis

    mapreduce的原理_深入理解redis1.MapReduce概念 1)MapReduce是一种分布式计算模型,由Google提出,主要用于搜索领域,解决海量数据的计算问题. 2)MapReduce是分布式运行的,由两个阶段组成:Map和R

    2023-04-23
    112
  • tiflash性能_替代flash

    tiflash性能_替代flashTiFlash 这个项目的核心思路与和 TiDB 一样:持续听取用户反馈、持续改进、持续优化、高速迭代。最近几周陆续有数十家用户已经率先体验了 TiFlash,测试的过程中很多同学注意到一个现象,短…

    2023-02-21
    99
  • CSS align-items属性

    CSS align-items属性CSS中的align-items属性是一个非常重要的属性,它决定了一个容器(父元素)内所有的子元素在交叉轴上的对齐方式。了解align-items的使用方法和属性值可以帮助我们更好地布局页面并提高用户体验。

    2024-05-16
    12
  • mysql中通过身份证号计算实时年龄

    mysql中通过身份证号计算实时年龄SELECT * FROM ( SELECT DATE_FORMAT(substring(t.card_id, 7, 8),”%Y-%m-%d”) birthday, YEAR (now()) – …

    2023-02-05
    111
  • Python Listbox with Tkinter: 完全指南

    Python Listbox with Tkinter: 完全指南Tkinter是Python中常用的图形用户界面(GUI)工具包之一。Tkinter具有一系列的小部件,可以轻松创建各种类型的GUI应用程序,其中之一是Listbox。Listbox是一个小部件,用于在窗口中显示一系列的项目,并允许用户通过单击列表中的项目进行选择。

    2024-01-14
    66
  • spark中的分区概念_python编程快速上手怎么样

    spark中的分区概念_python编程快速上手怎么样###@Spark分区器(Partitioner) ####HashPartitioner(默认的分区器) HashPartitioner分区原理是对于给定的key,计算其hashCode,并除以分区

    2023-05-25
    127
  • 介绍几种常用的Oracle客户端工具「建议收藏」

    介绍几种常用的Oracle客户端工具「建议收藏」首发微信公众号:SQL数据库运维 原文链接:https://mp.weixin.qq.com/s?__biz=MzI1NTQyNzg3MQ==&mid=2247485212&idx=1

    2023-05-31
    99

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注