试驾 Citus 11.0 beta

Citus 11.0 beta 版本带来了自动元数据同步功能,允许用户从任何节点查询分布式表,无需特殊配置。此外,新版本支持跨工作节点的负载平衡查询,提供集群洞察的新视图,并改进了事务块中的元数据同步。用户可以开始试用 Citus 11.0 beta,以提升应用程序的可扩展性。
摘要由CSDN通过智能技术生成

🚀 优质资源分享 🚀

学习路线指引(点击解锁) 知识定位 人群定位
🧡 Python实战微信订餐小程序 🧡 进阶级 本课程是python flask+微信小程序的完美结合,从项目搭建到腾讯云部署上线,打造一个全栈订餐系统。
💛Python量化交易实战💛 入门级 手把手带你打造一个易扩展、更安全、效率更高的量化交易系统

image

https://www.citusdata.com/blog/2022/03/26/test-drive-citus-11-beta-for-postgres/

Citus 11.0 beta 的最大变化是 schema 和 Citus 元数据现在在整个数据库集群中自动同步。这意味着您始终可以从 Citus 集群中的任何节点查询分布式表!

使用 Citus 最简单的方法是连接到协调器节点并将其用于 schema 更改和分布式查询,但是对于要求非常高的应用程序,您现在可以选择通过使用不同的连接字符串并考虑一些限制,在应用程序(部分)的工作节点之间对分布式查询进行负载平衡。

我们也在 11.0 beta 版中弃用了一些特性来加速我们的开发,但我们希望这不会影响到你们中的大多数人。

在这篇 11.0 beta 版博客文章中,您将了解:

  • Citus 11.0 beta 中新的自动元数据同步功能
  • 如何配置 Citus 11.0 beta 集群
  • 如何跨工作节点负载平衡查询
  • 升级到 11.0 beta 版
  • 改进的集群活动视图
  • 事务块中的元数据同步
  • 弃用

您可以试用新的 Citus 11.0 beta ,看看您的应用程序将如何使用它,或者尝试新功能。 您可以在我们的安装说明中找到这些软件包。

我们刚刚推出了 11.0 beta 的新型发行说明,如果您想深入了解我们的开源 GitHub 存储库并查看我们在此版本中解决的问题,这应该很有用。 如果您觉得它有用,请在 Slack 上告诉我们!我们也计划为即将发布的 Citus 版本发布此类版本说明。您可以通过 Citus 网站顶部导航中的 “UPDATES” 链接找到这些发行说明。

自动元数据同步允许您从任何节点查询

Citus 可能是扩展 PostgreSQL 数据库的最佳方式。当您分发表时,Citus 可以跨大型 PostgreSQL 服务器集群路由和并行化复杂查询。除了初始设置之外,分发对应用程序是透明的:您的应用程序仍然连接到单个 PostgreSQL 节点(Citus 用语中的“协调器”),并且协调器在后台分发您的应用程序发送的 Postgres 查询。

image
图 1:Citus 10.2 或更早版本中的 Citus 集群,其中用户和项目是分布式表,它们的元数据仅在协调器上。

单协调器架构有很多好处并且性能非常好,但是对于某些高性能工作负载,协调器可能会成为瓶颈。在实践中,很少有应用程序会遇到协调器的瓶颈,因为 Citus 协调器所做的工作相对较少。但是,我们确实发现应用程序开发人员通常希望在可扩展性方面为未来做好准备,并且有一些要求非常高的企业应用程序。

很长一段时间以来,Citus 通过同步分布式表 schema 和元数据,能够通过工作节点执行分布式查询。过去,我们有时将此功能称为“MX”。 但是,MX 功能在使用序列(sequences)、函数(functions)、模式(schemas)和其他数据库对象方面存在各种限制——这意味着并非所有表都支持元数据同步。

Citus 11.0 beta 更改为新的操作模式:现在所有 Citus 数据库集群始终使用元数据同步。这意味着使用 Citus 11.0 beta 和所有未来版本,您始终可以从任何节点运行分布式 Postgres 查询。

image
图 2:Citus 11.0 beta 集群,其中 users 和 items 是分布式表,并且使用新的自动元数据同步功能,它们的元数据会同步到所有节点。

当您开始使用 Citus 11.0 beta 时,您无需执行任何操作来启用新的元数据同步功能。 每个分布式表、数据库对象和 schema 更改都将自动传播到所有 Citus worker 节点。 Schema 更改和节点管理仍然需要发送到 Citus 协调器,您可以通过更改应用程序中的连接字符串来选择将分布式 Postgres 查询发送到协调器或任何其他节点。

如何配置 Citus 11.0 beta 集群

如果您需要在 PostgreSQL 数据库上每秒执行许多查询,则可能需要使用相对大量的连接。 最终,您的总吞吐量在 [连接数]/[平均响应时间],因为您一次只能对每个连接进行一次查询。

当您的应用程序打开与其中一个 Citus 节点的连接时,该连接会产生一个 Postgres 进程。 这个 Postgres 进程需要与其他节点建立内部连接以查询分布式表的分片。这些内部连接被缓存以最小化响应时间。这确实意味着来自客户端的每个连接最终都会导致与其他节点的额外内部连接,因此每个节点最终将获得与客户端对整个数据库集群的连接数。幸运的是,我们在 PostgreSQL 14 中对连接可扩展性进行了重大改进,允许 Postgres(和 Citus)在高连接数下保持良好的性能。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值