簡體   English   中英

Citus:將現有數據庫作為citus的工作節點

[英]Citus: make existing database as worker node of citus

我已經有一個Web應用程序使用的服務器之一上的數據庫。 可以說D1

我想在其他與D1有某些關系的服務器上使用新數據庫D2創建一個新的Web應用程序。

我想創建citus數據服務器,並將D1D2都添加為分片表,並將其工作節點添加為各自的服務器。

我在citus文檔中發現的是,碎片數據庫表是在citus服務器上創建的,並自動分發到可用的工作程序節點。

如何將現有的數據庫用作新的citus服務器的工作節點和分片表。

問題有點含糊,我不太了解所要問的問題。

我們有2個服務器S1和S2,其中包含2個數據庫D1和D2。 我們想創建一個包含D1和D2的分布式數據庫,我們將有一個第三服務器S0,我們希望將其用作citus協調器。

將S1(D1)和S2(D2)用作工作程序不是問題。 Citus在協調器節點上創建主表。 分別在工人處創建碎片。 假設會發生名稱沖突,碎片表可以與舊表共存。

但是,您不能盲目使用D1和D2中的現有數據,並期望它們是分片表。 數據需要重新分片。

腳步

  1. 閱讀有關如何設置群集,選擇分發密鑰,加載數據的citus文檔

  2. 在S1,S2和S0上安裝/設置citus擴展(協調器)

  3. 在S0中將S1和S2添加為工作節點

  4. 確定表分配。 有些表需要位於所有節點上(參考表),其中一些是根據某些鍵進行分片的。

  5. 在協調器節點上創建表,使用create_distributed_table / create_reference_table函數進行分配

  6. 加載數據,這可能是一個問題。 最簡單的方法是將現有數據導出(復制)到外部文件,然后從該文件導入(復制)到citus集群。 導入數據時,您將需要使用協調器節點(S0)。

  7. 在切換之前,請使用新集群很好地測試您的應用程序。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM