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

相关推荐

  • Python Widget Digit,打造高效数字化界面

    Python Widget Digit,打造高效数字化界面在现代社会,数字化已成为各行各业的趋势,需要我们处理数字化信息的频率越来越高。数字处理和显示是我们日常工作的重点,因此,有一个高效的数字化界面是非常重要的。Python Widget Digit能够帮助我们快速、轻松地构建一个高效的数字化界面。

    2024-04-03
    22
  • mysql 更新锁_mysql锁是怎么实现的

    mysql 更新锁_mysql锁是怎么实现的利用Mysql的锁来解决高并发的问题,先看没有利用事务的时候并发的后果 创建库存管理表 CREATE TABLE `storage` ( `id` int(11) unsigned NOT NULL…

    2023-03-18
    97
  • mac解决adb devices命令找不到真机设备

    mac解决adb devices命令找不到真机设备
    参考帖子:https://blog.csdn.net/linhunshi/article/details/72866345这篇帖子非常非常有用! 1、确保A…

    2023-04-08
    137
  • 技术分享 | MySQL 的 join_buffer_size 在内连接上的应用

    技术分享 | MySQL 的 join_buffer_size 在内连接上的应用作者:杨涛涛 本文详细介绍了 MySQL 参数 join_buffer_size 在 INNER JOIN 场景的使用,OUTER JOIN 不包含。在讨论这个 BUFFER 之前,我们先了解下 M…

    2022-12-15
    109
  • MySQL学习 2019-12

    MySQL学习 2019-12启动mysql服务: net start mysql 关闭mysql服务: net stop mysql cmd清屏: cls mysql -V 输出版本信息并且退出 mysql -u 用户

    2022-12-29
    110
  • sqlDeveloper工具快速入门[亲测有效]

    sqlDeveloper工具快速入门[亲测有效]场景 我们在连接oracle数据库的时候 常用方式一般有以下三种: pl/sql deceloper navicat sqlDeveloper 其中, pl/sql developer是最经典的,也是

    2023-05-28
    108
  • Python实现查找列表中的元素

    Python实现查找列表中的元素在日常的编程工作中,查找列表中的元素是必不可少的操作。Python作为一门简洁高效的编程语言,在查找列表元素方面也提供了多种实现方式。本文将从多个角度分析Python实现查找列表中的元素的方法,帮助读者更好地理解和运用这些方法。

    2024-04-24
    15
  • 用Python实现机器学习算法

    用Python实现机器学习算法作为一门流行的编程语言,Python提供了大量的机器学习库供我们调用。在这些库中,最为流行的还是scikit-learn库。该库囊括了大部分的机器学习算法,包括分类、聚类、回归等。首先我们需要安装该库:

    2024-03-07
    33

发表回复

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