Azure Database for PostgreSQL 中的節(jié)點(diǎn)和表–超大規(guī)模 (Citus),postgresql查詢分區(qū)-ESG跨境

Azure Database for PostgreSQL 中的節(jié)點(diǎn)和表–超大規(guī)模 (Citus),postgresql查詢分區(qū)

來源網(wǎng)絡(luò)
來源網(wǎng)絡(luò)
2022-07-05
點(diǎn)贊icon 0
查看icon 779

Azure Database for PostgreSQL 中的節(jié)點(diǎn)和表–超大規(guī)模 (Citus),postgresql查詢分區(qū)信息Azure Database for PostgreSQL 中的節(jié)點(diǎn)和表–超大規(guī)模 (Citus)Nodes超大規(guī)模(Citus)承載類型允許Azure Database for Post......

Azure Database for PostgreSQL 中的節(jié)點(diǎn)和表–超大規(guī)模 (Citus),postgresql查詢分區(qū)信息





Azure Database for PostgreSQL 中的節(jié)點(diǎn)和表–超大規(guī)模 (Citus)

Nodes

超大規(guī)模(Citus)承載類型允許Azure Database for PostgreSQL服務(wù)器(稱為節(jié)點(diǎn),)在無(wú)共享體系結(jié)構(gòu)中彼此協(xié)調(diào)。服務(wù)器組中的節(jié)點(diǎn)共同保存更多的數(shù)據(jù),并使用比單個(gè)服務(wù)器上的更多的CPU內(nèi)核。該體系結(jié)構(gòu)還允許通過向服務(wù)器組中添加更多節(jié)點(diǎn)來縮放數(shù)據(jù)庫(kù)。

協(xié)調(diào)器和輔助角色

每個(gè)服務(wù)器組都有一個(gè)協(xié)調(diào)器節(jié)點(diǎn)和多個(gè)輔助角色。應(yīng)用程序?qū)⑵洳樵儼l(fā)國(guó)際快遞協(xié)調(diào)器節(jié)點(diǎn),該節(jié)點(diǎn)將其中繼到相關(guān)的工作線程并累計(jì)其結(jié)果。應(yīng)用程序無(wú)法直接連接到輔助角色。

超大規(guī)模(Citus)使數(shù)據(jù)庫(kù)管理員能夠在不同的工作節(jié)點(diǎn)上分發(fā)表,并存儲(chǔ)不同的行。分布式表是超大規(guī)模(Citus)性能的關(guān)鍵。如果無(wú)法分發(fā)表,則會(huì)將它們完全留在協(xié)調(diào)器節(jié)點(diǎn)上,并且無(wú)法利用跨計(jì)算機(jī)并行。

對(duì)于分布式表的每個(gè)查詢,協(xié)調(diào)器會(huì)將其路由到單個(gè)輔助角色節(jié)點(diǎn),或?qū)⑵洳⑿性诙鄠€(gè)節(jié)點(diǎn)上,具體取決于所需的數(shù)據(jù)是位于單個(gè)節(jié)點(diǎn)上還是在多個(gè)節(jié)點(diǎn)上。協(xié)調(diào)器通過咨詢?cè)獢?shù)據(jù)表確定要執(zhí)行的操作。這些表跟蹤輔助角色節(jié)點(diǎn)的DNS名稱和運(yùn)行狀況,以及跨節(jié)點(diǎn)分布的數(shù)據(jù)。

表類型

超大規(guī)模(Citus)服務(wù)器組中有三種類型的表,每個(gè)表在節(jié)點(diǎn)上以不同方式存儲(chǔ),并用于不同目的。

類型1:分布式表

第一種類型,最常見的是分布式表。它們看起來像是SQL語(yǔ)句的普通表,但它們?cè)诠ぷ鞴?jié)點(diǎn)之間水平分區(qū)。這意味著表中的行存儲(chǔ)在名為分片的碎片表中的不同節(jié)點(diǎn)上。

超大規(guī)模(Citus)只在整個(gè)群集中運(yùn)行SQL但DDL語(yǔ)句。更改分布式表的架構(gòu)會(huì)進(jìn)行級(jí)聯(lián)以更新所有表在工作線程中的分片。

分布列

超大規(guī)模(Citus)使用算法分片將行分配到分片。根據(jù)名為分布列的表列的值,賦值是明確的。群集管理員必須在分發(fā)表時(shí)指定此列。做出正確的選擇對(duì)性能和功能非常重要。

類型2:引用表

引用表是一種分布式表,其整個(gè)內(nèi)容將集中到單個(gè)分片中。分片在每個(gè)輔助角色上復(fù)制。對(duì)任何工作人員的查詢都可以在本地訪問引用信息,而無(wú)需從另一個(gè)節(jié)點(diǎn)請(qǐng)求行的網(wǎng)絡(luò)開銷。引用表沒有分布列,因?yàn)闊o(wú)需區(qū)分單獨(dú)的分片每行。

引用表通常很小,用于存儲(chǔ)與在任何輔助節(jié)點(diǎn)上運(yùn)行的查詢相關(guān)的數(shù)據(jù)。例如訂單狀態(tài)或產(chǎn)品類別等枚舉值。

類型3:本地表

使用超大規(guī)模(Citus)時(shí),連接到的協(xié)調(diào)器節(jié)點(diǎn)是一個(gè)常規(guī)的PostgreSQL數(shù)據(jù)庫(kù)??梢栽趨f(xié)調(diào)器上創(chuàng)建普通表,并選擇不分片。

對(duì)于本地表,最好是不參與聯(lián)接查詢的小型管理表。例如,應(yīng)用程序登錄和身份驗(yàn)證的用戶表。

分片

上一部分介紹了如何將分布式表存儲(chǔ)為輔助角色節(jié)點(diǎn)上的分片。本部分將討論更多技術(shù)詳細(xì)信息。

pgdistshard協(xié)調(diào)器的元數(shù)據(jù)表為系統(tǒng)中每個(gè)分布式表的每個(gè)分片都包含一行。該行將分片ID與(shardminvalue,shardmaxvalue)的哈??臻g中的整數(shù)范圍匹配。

SQL

SELECT*from pgdistshard;

logicalrelidshardidshardstorageshardminvalueshardmaxvalue

++++

githubevents102026t268435456402653183

githubevents102027t402653184536870911

githubevents102028t536870912671088639

githubevents102029t671088640805306367

(4 rows)

如果協(xié)調(diào)器節(jié)點(diǎn)要確定哪些分片包含一行g(shù)ithubevents,則將對(duì)該行中分布列的值進(jìn)行哈希處理。然后,該節(jié)點(diǎn)檢查哪些分片的范圍包含哈希值。定義這些范圍是為了使哈希函數(shù)的圖像是其不相交的聯(lián)合。

分片放置

假設(shè)分片102027與相關(guān)行相關(guān)聯(lián)。在其中一個(gè)輔助角色中調(diào)用的表中讀取或?qū)懭朐撔術(shù)ithubevents102027。哪個(gè)工作線程?這完全由元數(shù)據(jù)表確定。分片到輔助角色的映射稱為分片位置。

協(xié)調(diào)器節(jié)點(diǎn)將查詢重寫為引用特定表的片段,githubevents102027并在相應(yīng)的輔助角色上運(yùn)行這些片段。下面是在幕后運(yùn)行的查詢示例,用于查找包含分片ID 102027的節(jié)點(diǎn)。

SQL

SELECT

shardid,

node.nodename,

node.nodeport

FROM pgdistplacement placement

JOIN pgdistnode node

ON placement.groupid=node.groupid

AND node.noderole=primary::noderole

WHERE shardid=102027;

輸出

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

│shardid│nodename│nodeport│

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

│102027│localhost│5433│

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


文章推薦
從日本運(yùn)舊五軸機(jī)床到中國(guó)的,日本五軸機(jī)床
App Store 審核 金融App 3.2.1被拒及其他23種原因總結(jié),app store 審核被拒
google ads如何開戶,google ads 從入門到精通
ASO在App Store和Google Play之間的主要區(qū)別


特別聲明:以上文章內(nèi)容僅代表作者本人觀點(diǎn),不代表ESG跨境電商觀點(diǎn)或立場(chǎng)。如有關(guān)于作品內(nèi)容、版權(quán)或其它問題請(qǐng)于作品發(fā)表后的30日內(nèi)與ESG跨境電商聯(lián)系。

搜索 放大鏡
韓國(guó)平臺(tái)交流群
加入
韓國(guó)平臺(tái)交流群
掃碼進(jìn)群
歐洲多平臺(tái)交流群
加入
歐洲多平臺(tái)交流群
掃碼進(jìn)群
美國(guó)賣家交流群
加入
美國(guó)賣家交流群
掃碼進(jìn)群
ESG跨境專屬福利分享群
加入
ESG跨境專屬福利分享群
掃碼進(jìn)群
拉美電商交流群
加入
拉美電商交流群
掃碼進(jìn)群
亞馬遜跨境增長(zhǎng)交流群
加入
亞馬遜跨境增長(zhǎng)交流群
掃碼進(jìn)群
亞馬遜跨境增長(zhǎng)交流群
加入
亞馬遜跨境增長(zhǎng)交流群
掃碼進(jìn)群
拉美電商交流群
加入
拉美電商交流群
掃碼進(jìn)群
ESG獨(dú)家招商-PHH GROUP賣家交流群
加入
ESG獨(dú)家招商-PHH GROUP賣家交流群
掃碼進(jìn)群
《TikTok官方運(yùn)營(yíng)干貨合集》
《TikTok綜合運(yùn)營(yíng)手冊(cè)》
《TikTok短視頻運(yùn)營(yíng)手冊(cè)》
《TikTok直播運(yùn)營(yíng)手冊(cè)》
《TikTok全球趨勢(shì)報(bào)告》
《韓國(guó)節(jié)日營(yíng)銷指南》
《開店大全-全球合集》
《開店大全-主流平臺(tái)篇》
《開店大全-東南亞篇》
《CD平臺(tái)自注冊(cè)指南》
通過ESG入駐平臺(tái),您將解鎖
綠色通道,更高的入駐成功率
專業(yè)1v1客戶經(jīng)理服務(wù)
運(yùn)營(yíng)實(shí)操指導(dǎo)
運(yùn)營(yíng)提效資源福利
平臺(tái)官方專屬優(yōu)惠

立即登記,定期獲得更多資訊

訂閱
聯(lián)系顧問

平臺(tái)顧問

平臺(tái)顧問 平臺(tái)顧問

微信掃一掃
馬上聯(lián)系在線顧問

icon icon

小程序

微信小程序

ESG跨境小程序
手機(jī)入駐更便捷

icon icon

返回頂部

【免費(fèi)領(lǐng)取】全球跨境電商運(yùn)營(yíng)干貨 關(guān)閉
進(jìn)行中
進(jìn)行中
TikTok運(yùn)營(yíng)必備干貨包
包含8個(gè)TikTok最新運(yùn)營(yíng)指南(市場(chǎng)趨勢(shì)、運(yùn)營(yíng)手冊(cè)、節(jié)日攻略等),官方出品,專業(yè)全面!
免費(fèi)領(lǐng)取
進(jìn)行中
進(jìn)行中
韓國(guó)電商節(jié)日營(yíng)銷指南
10+韓國(guó)電商重要營(yíng)銷節(jié)點(diǎn)詳細(xì)解讀;2024各節(jié)日熱度選品助力引爆訂單增長(zhǎng);8大節(jié)日營(yíng)銷技巧輕松撬動(dòng)大促流量密碼。
免費(fèi)領(lǐng)取
進(jìn)行中
進(jìn)行中
全球平臺(tái)詳解——全球合集
涵括全球100+個(gè)電商平臺(tái)的核心信息,包括平臺(tái)精煉簡(jiǎn)介、競(jìng)爭(zhēng)優(yōu)勢(shì)、熱銷品類、入駐要求以及入駐須知等關(guān)鍵內(nèi)容。
立即領(lǐng)取
進(jìn)行中
進(jìn)行中
全球平臺(tái)詳解——主流平臺(tái)篇
火爆全球的跨境電商平臺(tái)合集,平臺(tái)優(yōu)勢(shì)、開店選品、入駐條件盡在掌握
立即領(lǐng)取
進(jìn)行中
進(jìn)行中
全球平臺(tái)詳解——拉美篇
涵蓋9大熱門拉美電商平臺(tái),成熟的市場(chǎng)是跨境賣家的熱門選擇!
立即領(lǐng)取
進(jìn)行中
進(jìn)行中
全球平臺(tái)詳解——日韓篇
涵蓋10+日韓電商平臺(tái),入駐條件一看就懂,優(yōu)勢(shì)熱銷品應(yīng)有盡有
立即領(lǐng)取
進(jìn)行中
進(jìn)行中
全球平臺(tái)詳解——?dú)W洲篇
涵蓋20+歐洲電商平臺(tái),詳細(xì)解讀優(yōu)勢(shì)、入駐條件、熱銷品等
立即領(lǐng)取