精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

分布式 PostgreSQL之Citus 架構

數據庫 PostgreSQL
每個 cluster 都有一個稱為 coordinator(協調器) 的特殊節點(其他節點稱為 worker 節點)。應用程序將它們的查詢發送到 coordinator 節點,coordinator 節點將其轉發給相關的 worker 并累積結果。

節點

Citus 是一種 PostgreSQL 擴展,它允許數據庫服務器(稱為節點)在“無共享(shared nothing)”架構中相互協調。這些節點形成一個集群,允許 PostgreSQL 保存比單臺計算機上更多的數據和使用更多的 CPU 內核。這種架構還允許通過簡單地向集群添加更多節點來擴容數據庫。

  • 擴展

https://www.postgresql.org/docs/current/external-extensions.html

Coordinator 與 Worker

每個 cluster 都有一個稱為 coordinator(協調器) 的特殊節點(其他節點稱為 worker 節點)。應用程序將它們的查詢發送到 coordinator 節點,coordinator 節點將其轉發給相關的 worker 并累積結果。

對于每個查詢,coordinator 要么將其路由到單個 worker 節點,要么將其并行化到多個節點,具體取決于所需數據是位于單個節點上還是多個節點上。coordinator 通過查閱其元數據表知道如何做到這一點。這些 Citus 特定表跟蹤 worker 節點的 DNS 名稱和運行狀況,以及跨節點數據的分布情況。

分布式數據

表類型

Citus 集群中有三種類型的表,每種表都以不同方式存儲在節點中,并且用于不同的目的。

類型 1:分布式表

第一種類型,也是最常見的,是分布式表。對于 SQL 語句而言,它們看似是普通的表,但在 worker 節點之間水平分區。

這里 table 的行存儲在 worker 的表 table_1001、table_1002 等中。組件 worker 表稱為分片(shards)。

分布列

Citus 使用使用分片算法將行分配到分片。基于表列(稱為分布列(distribution column))的值執行分配,此分配具有確定性。集群管理員在分布表時必須指定此列。做出正確的選擇,這一點對于性能和功能有重要影響。

類型 2:引用表

引用表 是一種分布式表,其全部內容都集中到單個分片中,并在每個 worker 上復制。因此,對任何 worker 的查詢都可以在本地訪問 引用 信息,無需從另一個節點請求行,因此也不會產生此類網絡開銷。引用表沒有分布列,因為無需區分每行的各個分片。

引用表 通常很小,用于存儲與在任何工作節點上運行的查詢相關的數據。例如,訂單狀態或產品類別等枚舉值。

當與 引用表 交互時,我們會自動對事務執行兩階段提交 (2PC)。這意味著 Citus 確保您的數據始終處于一致狀態,無論您是在寫入、修改還是刪除它。

  • 2PC

https://en.wikipedia.org/wiki/Two-phase_commit_protocol

類型 3:本地表

當您使用 Citus 時,您連接并與之交互的 coordinator 節點是安裝了 Citus 擴展的常規 PostgreSQL 數據庫。因此,您可以創建普通表并選擇不對其進行分片。這對于不參與連接查詢的小型管理表很有用。一個示例是用于應用程序登錄和身份驗證的用戶表。

創建標準 PostgreSQL 表很容易,因為它是默認值。這是你運行 CREATE TABLE 時得到的。在幾乎每個 Citus 部署中,我們都會看到標準 PostgreSQL 表與 distributed 和 reference 表共存。事實上,如前所述,Citus 本身使用本地表來保存集群元數據。

Shards

上一節將分片描述為在 worker 節點內的較小表中包含分布式表的行的子集。本節詳細介紹了技術細節。

協調器上的 pg_dist_shard 元數據表包含系統中每個分布式表的每個分片的行。該行與分片 ID 相匹配,分片 ID 的范圍是一組哈希整數 (shardminvalue, shardmaxvalue)。

SELECT * from pg_dist_shard;
logicalrelid | shardid | shardstorage | shardminvalue | shardmaxvalue
---------------+---------+--------------+---------------+---------------
github_events | 102026 | t | 268435456 | 402653183
github_events | 102027 | t | 402653184 | 536870911
github_events | 102028 | t | 536870912 | 671088639
github_events | 102029 | t | 671088640 | 805306367
(4 rows)

如果 coordinator 節點要確定哪個分片包含 github_events 行,它將對行中分布列的值執行哈希算法。然后此節點檢查哪個分片的范圍包含此哈希值。定義范圍后,哈希函數的image(圖像)就是兩者的并查。

分片放置

假設分片 102027 與相應的行關聯。在某個 worker 中的 github_events_102027 表中讀取或寫入此行。是哪個 worker?這完全由元數據表確定。分片映射到 worker 的過程稱為分片放置(shard placement)。

coordinator 節點將查詢重寫為引用特定表(例如 github_events_102027)的片段,并對相應 worker 運行這些片段。下面的查詢示例在后臺運行,旨在查找分片 ID 為 102027 的節點。

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
└─────────┴───────────┴──────────┘

在 github_events 示例中,有四個分片。每個表的分片數量在其在集群中分布時是可配置的。

最后請注意,Citus 允許復制分片以防止數據丟失。有兩種復制“模式”:Citus 復制和流復制。前者創建額外的備份分片放置并針對所有更新它們的所有它們運行查詢。后者效率更高,利用 PostgreSQL 的流式復制將每個節點的整個數據庫備份到一個 follower 數據庫。這是透明的,不需要 Citus 元數據表的參與。

共置

由于可以根據需要將分片及其副本放置在節點上,因此將包含相關表的相關行的分片放在同一節點上是有意義的。這樣,它們之間的連接查詢可以避免通過網絡發送盡可能多的信息,并且可以在單個 Citus 節點內執行。

一個示例是包含商店、產品和購買的數據庫。如果所有三個表都包含 - 并且由 - store_id 列分布,那么限制在單個存儲中的所有查詢都可以在單個工作節點上高效運行。即使查詢涉及這些表的任意組合也是如此。

并行性

跨多臺機器分散查詢允許一次運行更多查詢,并允許通過向集群添加新機器來擴展處理速度。此外,如上一節所述,將單個查詢拆分為片段可以提高專用于它的處理能力。后一種情況實現了最大的并行性,這意味著 CPU 內核的利用率。

讀取或影響均勻分布在多個節點上的分片的查詢能夠以“實時”速度運行。請注意,查詢的結果仍然需要通過協調器節點傳回,因此當最終結果緊湊時(例如計數和描述性統計等聚合函數),加速效果最為明顯。

查詢執行

在執行多分片查詢時,Citus 必須平衡并行性的收益與數據庫連接的開銷(網絡延遲和工作節點資源使用)。要配置 Citus 的查詢執行以獲得最佳的數據庫工作負載結果,它有助于了解 Citus 如何管理和保存協調節點和工作節點之間的數據庫連接。

Citus 將每個傳入的多分片查詢會話轉換為稱為任務的每個分片查詢。它將任務排隊,并在能夠獲得與相關工作節點的連接時運行它們。對于分布式表 foo 和 bar 的查詢,下面是連接管理圖:

coordinator 節點為每個會話都有一個連接池。每個查詢(例如圖中的 SELECT * FROM foo)僅限于為每個 worker 的任務打開最多 citus.max_adaptive_executor_pool_size(整數)個同時連接。該設置可在會話級別進行配置,以進行優先級管理。

在同一連接上按順序執行短任務比為它們并行建立新連接更快。另一方面,長時間運行的任務受益于更直接的并行性。

為了平衡短任務和長任務的需求,Citus 使用 citus.executor_slow_start_interval(整數)。該設置指定多分片查詢中任務的連接嘗試之間的延遲。當查詢首先對任務進行排隊時,這些任務只能獲取一個連接。在每個有待處理連接的時間間隔結束時,Citus 會增加它將打開的同時連接數。通過將 GUC 設置為 0,可以完全禁用慢啟動行為。

當任務完成使用連接時,會話池將保持連接打開以供以后使用。緩存連接避免了 coordinator 和 worker 之間重新建立連接的開銷。但是,每個池一次打開的空閑連接不超過 citus.max_cached_conns_per_worker(整數)個,以限制 worker 中空閑連接資源的使用。

最后,設置 citus.max_shared_pool_size (integer) 充當故障保險。它限制了所有任務之間每個 worker 的總連接數。

責任編輯:武曉燕 來源: 黑客下午茶
相關推薦

2022-03-21 06:45:22

PostgreSQL數據庫Citus

2022-03-29 23:17:52

PostgreSQL集群Citus

2022-03-30 19:18:31

PostgreSQL分布式I/O

2022-03-27 06:37:37

SQLPostgreSQL集群

2022-03-22 11:35:10

數據建模PostgreSQLCitus

2022-03-24 14:11:25

KubernetesCitusPostgreSQL

2022-03-31 19:20:39

集群PostgreSQLCitus

2022-03-17 18:52:41

PostgreSQ序列數據集群

2022-03-21 19:44:30

CitusPostgreSQ執行器

2022-03-16 19:15:32

PostgreSQL日志Kafka

2022-04-01 19:26:15

PostgreSQLCitus分布式

2022-03-15 19:19:04

分布式PostgreSQL集群

2022-03-28 13:13:58

分布列CitusPostgreSQ

2020-06-02 14:45:48

PostgreSQL架構分布式

2022-03-14 19:40:40

PostgreSQL多租戶應用程序Citus

2022-10-21 16:16:42

分布式系統優化

2019-12-26 08:59:20

Redis主從架構

2025-05-13 03:22:00

2023-05-29 14:07:00

Zuul網關系統

2020-04-14 11:14:02

PostgreSQL分布式數據庫
點贊
收藏

51CTO技術棧公眾號

99久久久久国产精品| 不卡av免费观看| 国产一区免费电影| 国模吧一区二区三区| 欧美熟妇激情一区二区三区| 日本免费成人| 黑人精品xxx一区一二区| 神马影院午夜我不卡| 亚洲第一色网站| 日本在线播放一区二区三区| 欧美大荫蒂xxx| 天天舔天天操天天干| 亚洲网一区二区三区| 在线观看一区二区视频| 国产资源在线免费观看| 中文字幕在线视频区| 成人午夜激情在线| 国产精品丝袜高跟| 中文字幕第15页| 欧美理论在线| 日韩三级影视基地| 在线免费看黄视频| 久久亚洲道色| 欧美成人激情免费网| 一区二区xxx| av高清不卡| 亚洲h动漫在线| wwwjizzjizzcom| www.在线视频.com| 久久综合九色综合97_久久久| 亚洲伊人久久综合| 小泽玛利亚一区二区三区视频| 日韩午夜在线| 久久久久国产精品免费网站| 国产传媒免费在线观看| 成人精品电影| 一区二区成人精品| a级在线免费观看| 美女毛片一区二区三区四区| 精品免费国产二区三区| 杨幂一区二区国产精品| 在线观看亚洲精品福利片| 欧美中文字幕不卡| 日本888xxxx| 日本综合视频| 在线观看一区日韩| 午夜在线观看av| 日韩免费va| 一本一道综合狠狠老| 日韩中文字幕三区| 成人影院入口| 日本韩国一区二区三区视频| 日韩有码免费视频| 成人美女大片| 在线亚洲高清视频| 香蕉视频禁止18| 97久久精品一区二区三区的观看方式 | 久操视频在线观看免费| 久久av免费| 国产亚洲免费的视频看| 亚洲精品国产精品国自| 日韩在线理论| 欧美日本高清一区| 国产无遮挡aaa片爽爽| 影音先锋久久| 国产成人精品久久| 一级黄色片在线| 国产精品18久久久久久久网站| 3d动漫精品啪啪一区二区三区免费 | 日韩精品无码一区二区三区| eeuss影院在线播放| 中文成人综合网| 黄色免费高清视频| 2018av在线| 在线中文字幕一区二区| 狠狠干狠狠操视频| 18国产精品| 亚洲精品自在久久| 长河落日免费高清观看| 午夜激情一区| 热re99久久精品国产66热| 伊人久久亚洲综合| 国产成人亚洲综合a∨婷婷| 国产亚洲欧美一区二区三区| 二区三区在线播放| 亚洲一区二区中文在线| 无码人妻丰满熟妇区毛片18| 精品亚洲a∨| 欧美精品一区二区不卡| 日本高清www| 91精品综合久久久久久久久久久| 色综合91久久精品中文字幕| 国产成人精品777777| 韩国女主播成人在线观看| 国产精品一区视频| 日本在线看片免费人成视1000| 一区二区三区成人| 亚洲少妇第一页| 无码国模国产在线观看| 亚洲人成电影网站色…| 国产精品白嫩白嫩大学美女| 久久久天天操| 国产99在线免费| 77777影视视频在线观看| 亚洲午夜在线电影| 天天干天天干天天干天天干天天干| 51精品国产| 久久精品成人动漫| 黄色污污网站在线观看| 成人免费视频网站在线观看| 亚洲永久激情精品| 国产一区二区主播在线| 日韩av网址在线| 欧美日韩免费做爰视频| 免费人成黄页网站在线一区二区| 国产日韩欧美一区二区| 二区三区在线观看| 在线免费亚洲电影| 极品人妻一区二区三区| 欧美视频成人| 91精品久久香蕉国产线看观看| 国产视频在线看| 欧美日韩精品在线| av免费观看不卡| 欧美在线网址| 91色在线观看| 免费a级在线播放| 色八戒一区二区三区| 欧美夫妇交换xxx| 欧美人成网站| 亚洲自拍另类欧美丝袜| 日韩理伦片在线| 欧美日韩一区视频| jizzjizzjizz国产| 日本三级亚洲精品| 日本一区视频在线播放| 欧美日韩成人影院| 一本色道久久88综合日韩精品 | 99自拍视频在线观看| 欧美日韩一本到| 欧美精品日韩在线| 免费观看一级特黄欧美大片| 日韩欧美激情一区二区| 久久精品女人天堂av免费观看| 日韩大片在线观看视频| 国产 日韩 欧美 在线| www.av亚洲| 欧美日韩黄色一级片| 国产乱论精品| 97婷婷涩涩精品一区| 特黄aaaaaaaaa真人毛片| 亚洲一区二区av在线| 亚洲av熟女高潮一区二区| 99av国产精品欲麻豆| 国产精品一国产精品最新章节| 男男gaygays亚洲| 精品久久五月天| 日产精品久久久久久久| 99精品视频一区| 欧美极品欧美精品欧美图片| 欧美日韩激情| 成人免费看片视频| 国产黄色大片在线观看| 亚洲国产精品国自产拍av秋霞 | 欧美亚洲三区| 日本一区精品| 国产区一区二| 欧美精品videossex性护士| 视频一区二区免费| 在线观看免费亚洲| 卡通动漫亚洲综合| 成人av资源在线观看| aa在线免费观看| 欧美一二区在线观看| 91免费观看网站| 欧美v亚洲v| 亚洲欧美激情另类校园| 一区二区三区午夜| 亚洲一区二区欧美| 欧美激情 一区| 国产成人精品一区二区三区网站观看| 99色这里只有精品| 欧美影院三区| 成人免费91在线看| 三上悠亚一区二区| 蜜臀久久99精品久久久无需会员| 人人妻人人澡人人爽精品日本| 日韩欧美一区二区三区久久| 成人欧美一区二区三区黑人一| 懂色av一区二区夜夜嗨| 欧美精品一区二区三区免费播放| 91亚洲国产| 国产免费一区| 亚洲人成网站在线在线观看| 国模精品视频一区二区| yourporn在线观看中文站| 日韩欧美激情在线| 欧美brazzers| 亚洲国产美女搞黄色| 黄色片在线观看免费| 成人一级黄色片| 亚洲免费黄色网| 国产欧美日本| 久久久久亚洲av无码专区喷水| 日本欧美高清| 99三级在线| 视频一区在线免费看| 久久全球大尺度高清视频| 午夜视频在线观看免费视频| 亚洲精品久久久一区二区三区| 亚洲在线免费观看视频| 欧美日韩国产专区| 免费一级肉体全黄毛片| 国产精品萝li| 精品人妻一区二区三区蜜桃视频 | 成年人网站免费看| 国产剧情av麻豆香蕉精品| 无码内射中文字幕岛国片| 精品二区久久| 国产一二三四区在线观看| 欧美色就是色| 免费电影一区| 欧美调教视频| 国产91亚洲精品一区二区三区| 96视频在线观看欧美| 国产欧美日韩免费| 欧美色网在线| 欧美在线播放视频| 国产拍在线视频| 欧美精品videossex88| 91网在线看| 久久成人免费视频| 黄色在线观看网站| 最近2019中文字幕mv免费看| 国产女主播在线直播| 亚洲久久久久久久久久| 日本天堂影院在线视频| 亚洲精品久久视频| 三级做a全过程在线观看| 亚洲国产成人久久综合| 欧美自拍偷拍一区二区| 欧美精品一区二区不卡 | 99re66热这里只有精品3直播| 国产男女无遮挡猛进猛出| 国产一区视频在线看| 国产九九九视频| 国产一区二区三区黄视频 | 欧美 日本 亚洲| 99国产成+人+综合+亚洲欧美| 国产玉足脚交久久欧美| 激情欧美一区二区三区| 亚洲精品久久久久久久蜜桃臀| 黄色工厂这里只有精品| 97超碰人人澡| 免费精品视频| 五月天婷婷激情视频| 日本特黄久久久高潮| 中文字幕免费高清在线| 国产真实精品久久二三区| 小日子的在线观看免费第8集| 国产精品一二三四区| 黄色激情在线观看| 久久久精品国产免大香伊 | 亚洲综合在线第一页| 国产亚洲欧美久久久久| 亚洲va国产va欧美va观看| 黄色片视频免费| 欧美日本一区二区三区| www.四虎在线观看| 亚洲精品videossex少妇| 日本电影一区二区在线观看 | 91在线中文| 97国产精品久久| 精品视频在线一区二区在线| 国产色视频一区| 亚洲国产欧美国产第一区| 激情小说网站亚洲综合网| 国产欧美日韩| 中文一区一区三区免费| 亚洲私拍自拍| av在线无限看| 国产精品一区二区三区网站| 六十路息与子猛烈交尾| 中文字幕不卡三区| 精品视频一区二区在线观看| 一本大道久久a久久精品综合| 在线视频播放大全| 欧美精品一区二区三区一线天视频 | 国产精品不卡av| 在线亚洲免费视频| 国产综合视频在线| 中文字幕成人精品久久不卡| 日本大胆在线观看| 国产精品美女免费| 国产精品久久久网站| 亚洲一区二区三区精品动漫| 亚洲承认在线| 在线观看免费的av| 91丨porny丨首页| 日本a级片视频| 大伊人狠狠躁夜夜躁av一区| 一区二区视频网站| 日韩av在线网页| 2020国产在线视频| 国产精品视频精品| 欧美一级成年大片在线观看| 免费一级肉体全黄毛片| 色综合天天综合网天天狠天天| 国产精品视频一二区| 日韩成人在线播放| av网站导航在线观看免费| 欧美一性一乱一交一视频| 国产一区二区三区黄网站| 日韩精品久久久毛片一区二区| 亚洲国产1区| 男生和女生一起差差差视频| 中文字幕乱码久久午夜不卡| 日韩欧美性视频| 91精品国产91久久久久久最新毛片 | 亚洲制服少妇| 国产av一区二区三区传媒| 成人免费小视频| 一区二区视频播放| 一区二区三欧美| 大胆人体一区二区| 九九99久久| 亚洲精选久久| 又黄又爽又色的视频| 亚洲另类在线一区| 一级久久久久久久| 色七七影院综合| 成人免费网站www网站高清| 久久综合福利| 香蕉成人久久| 国产精品1000部啪视频| 国内精品美女在线观看| 污版视频在线观看| 欧美国产精品一区二区| 91video| 亚洲精品网站在线播放gif| 蜜桃视频在线观看免费视频| 国产综合 伊人色| 亚洲国产精品一区| 成人在线电影网站| 亚洲成人自拍网| 欧美视频在线观看一区二区三区| 欧美第一页在线| 久久久久观看| 国产日产欧美视频| 国产日韩欧美激情| 日本成人一级片| 久久久精品免费视频| 国色天香久久精品国产一区| 国产欧美自拍视频| 国产九色精品成人porny| 国产这里有精品| 亚洲国模精品私拍| 久久91导航| 亚洲欧洲日韩精品| 国产精品综合二区| 久久久精品99| 国产网站欧美日韩免费精品在线观看 | 97国产在线视频| 香蕉一区二区| 亚洲天堂网一区| 亚洲精品国产精品乱码不99| 日本精品久久久久| 日本久久久a级免费| 色琪琪久久se色| 亚洲一二三不卡| 亚洲福中文字幕伊人影院| 男人的天堂在线视频| 国产精品亚洲自拍| 欧美日韩国产亚洲一区| 一出一进一爽一粗一大视频| 色噜噜久久综合| 五月天激情在线| 欧美性天天影院| 国产一区二区三区香蕉| 国产中文字字幕乱码无限| 亚洲美女av网站| 精品91福利视频| 欧美日韩亚洲第一| av高清在线免费观看| 成人免费短视频| 亚洲国产高清国产精品| 国产激情偷乱视频一区二区三区 | 亚洲日本va| 亚洲熟妇无码另类久久久| 国产偷国产偷精品高清尤物| 99久久久无码国产精品免费| 91国产美女在线观看| 日韩一区电影| 屁屁影院国产第一页| 欧美人与禽zozo性伦| 国产乱码精品一区二三赶尸艳谈| 国产日韩中文字幕在线| 美女的奶胸大爽爽大片| 亚洲国产美女精品久久久久∴| 国产综合色在线观看|