Azure Database for PostgreSQL 中的节点和表–超大规模 (Citus),postgresql磁盘阵列-ESG跨境

Azure Database for PostgreSQL 中的节点和表–超大规模 (Citus),postgresql磁盘阵列

来源网络
来源网络
2022-07-05
点赞icon 0
查看icon 674

Azure Database for PostgreSQL 中的节点和表–超大规模 (Citus),postgresql磁盘阵列柜方案Azure Database for PostgreSQL 中的节点和表–超大规模 (Citus)Nodes超大规模(Citus)承载类型允许Azure Database for Pos......

Azure Database for PostgreSQL 中的节点和表–超大规模 (Citus),postgresql磁盘阵列柜方案




Azure Database for PostgreSQL 中的节点和表–超大规模 (Citus)

Nodes

超大规模(Citus)承载类型允许Azure Database for PostgreSQL服务器(称为节点,)在无共享体系结构中彼此协调。服务器组中的节点共同保存更多的数据,并使用比单个服务器上的更多的CPU内核。该体系结构还允许通过向服务器组中添加更多节点来缩放数据库。

协调器和辅助角色

每个服务器组都有一个协调器节点和多个辅助角色。应用程序将其查询发国际快递协调器节点,该节点将其中继到相关的工作线程并累计其结果。应用程序无法直接连接到辅助角色。

超大规模(Citus)使数据库管理员能够在不同的工作节点上分发表,并存储不同的行。分布式表是超大规模(Citus)性能的关键。如果无法分发表,则会将它们完全留在协调器节点上,并且无法利用跨计算机并行。

对于分布式表的每个查询,协调器会将其路由到单个辅助角色节点,或将其并行在多个节点上,具体取决于所需的数据是位于单个节点上还是在多个节点上。协调器通过咨询元数据表确定要执行的操作。这些表跟踪辅助角色节点的DNS名称和运行状况,以及跨节点分布的数据。

表类型

超大规模(Citus)服务器组中有三种类型的表,每个表在节点上以不同方式存储,并用于不同目的。

类型1:分布式表

第一种类型,最常见的是分布式表。它们看起来像是SQL语句的普通表,但它们在工作节点之间水平分区。这意味着表中的行存储在名为分片的碎片表中的不同节点上。

超大规模(Citus)只在整个群集中运行SQL但DDL语句。更改分布式表的架构会进行级联以更新所有表在工作线程中的分片。

分布列

超大规模(Citus)使用算法分片将行分配到分片。根据名为分布列的表列的值,赋值是明确的。群集管理员必须在分发表时指定此列。做出正确的选择对性能和功能非常重要。

类型2:引用表

引用表是一种分布式表,其整个内容将集中到单个分片中。分片在每个辅助角色上复制。对任何工作人员的查询都可以在本地访问引用信息,而无需从另一个节点请求行的网络开销。引用表没有分布列,因为无需区分单独的分片每行。

引用表通常很小,用于存储与在任何辅助节点上运行的查询相关的数据。例如订单状态或产品类别等枚举值。

类型3:本地表

使用超大规模(Citus)时,连接到的协调器节点是一个常规的PostgreSQL数据库。可以在协调器上创建普通表,并选择不分片。

对于本地表,最好是不参与联接查询的小型管理表。例如,应用程序登录和身份验证的用户表。

分片

上一部分介绍了如何将分布式表存储为辅助角色节点上的分片。本部分将讨论更多技术详细信息。

pg_dist_shard协调器的元数据表为系统中每个分布式表的每个分片都包含一行。该行将分片ID与(shardminvalue,shardmaxvalue)的哈希空间中的整数范围匹配。

SQL

SELECT*from pg_dist_shard;

logicalrelidshardidshardstorageshardminvalueshardmaxvalue

++++

github_events102026t268435456402653183

github_events102027t402653184536870911

github_events102028t536870912671088639

github_events102029t671088640805306367

(4 rows)

如果协调器节点要确定哪些分片包含一行github_events,则将对该行中分布列的值进行哈希处理。然后,该节点检查哪些分片的范围包含哈希值。定义这些范围是为了使哈希函数的图像是其不相交的联合。

分片放置

假设分片102027与相关行相关联。在其中一个辅助角色中调用的表中读取或写入该行github_events02027。哪个工作线程?这完全由元数据表确定。分片到辅助角色的映射称为分片位置。

协调器节点将查询重写为引用特定表的片段,github_events02027并在相应的辅助角色上运行这些片段。下面是在幕后运行的查询示例,用于查找包含分片ID 102027的节点。

SQL

SELECT

shardid,

node.nodename,

node.nodeport

FROM pg_dist_placement placement

JOIN pg_dist_node node

ON placement.groupid=node.groupid

AND node.noderole=primary::noderole

WHERE shardid=102027;

输出

┌─────────┬───────────┬──────────┐

│shardid│nodename│nodeport│

├─────────┼───────────┼──────────┤

│102027│localhost│5433│

└─────────┴───────────┴──────────┘


文章推荐
google adwords常犯的十个错误!少犯错等于省钱!,google adwords 设置技巧
Azure 应用程序体系结构指南,使用azure开发应用程序
App Store推广需要分析哪些数据,app store 渠道统计怎么做
ASO在App Store和Google Play之间的主要区别,苹果商店的aso流量优化


特别声明:以上文章内容仅代表作者本人观点,不代表ESG跨境电商观点或立场。如有关于作品内容、版权或其它问题请于作品发表后的30日内与ESG跨境电商联系。

搜索 放大镜
韩国平台交流群
加入
韩国平台交流群
扫码进群
欧洲多平台交流群
加入
欧洲多平台交流群
扫码进群
美国卖家交流群
加入
美国卖家交流群
扫码进群
ESG跨境专属福利分享群
加入
ESG跨境专属福利分享群
扫码进群
拉美电商交流群
加入
拉美电商交流群
扫码进群
亚马逊跨境增长交流群
加入
亚马逊跨境增长交流群
扫码进群
亚马逊跨境增长交流群
加入
亚马逊跨境增长交流群
扫码进群
拉美电商交流群
加入
拉美电商交流群
扫码进群
ESG独家招商-PHH GROUP卖家交流群
加入
ESG独家招商-PHH GROUP卖家交流群
扫码进群
《TikTok综合运营手册》
《TikTok短视频运营手册》
《TikTok直播运营手册》
《TikTok全球趋势报告》
《韩国节日营销指南》
《开店大全-全球合集》
《开店大全-主流平台篇》
《开店大全-东南亚篇》
《CD平台自注册指南》
《开店大全-俄罗斯篇》
通过ESG入驻平台,您将解锁
绿色通道,更高的入驻成功率
专业1v1客户经理服务
运营实操指导
运营提效资源福利
平台官方专属优惠

立即登记,定期获得更多资讯

订阅
联系顾问

平台顾问

平台顾问 平台顾问

微信扫一扫
马上联系在线顾问

icon icon

小程序

微信小程序

ESG跨境小程序
手机入驻更便捷

icon icon

返回顶部