繁体   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