Postgres-XL 可以同时分片、复制和自动平衡吗?

Kok*_*zzu 1 postgresql postgres-xl

例如,如果我有 5 个服务器(A、B、C、D、E)

我们可以设置复制因子为3的数据分布吗?(例如一个写到 ABC,其他记录到 ABD,其他记录到 ABE,等等),所以当节点 C 有一些硬件故障时,仍然有一些记录存在。

我们还可以添加一个新节点,然后在不停机的情况下将存储的数据平衡到新节点吗?

Bri*_*anC 5

是的,它可以做到这一点,但不是你想的那样。您所描述的是 NoSQL 设置。Postgres-XL 是一个 MPP 数据库。

当你创建一个表时,你定义它的“DISTRIBUTED BY”选项,可以是复制、循环、哈希、模等。你需要查看每个选项的详细信息。您还可以将表空间定义为位于已定义节点上。

您的设置将类似于

  • Node1 事务管理器
  • Node2 事务管理器代理
  • Node3 Coordinator1 & Data Node1
  • Node4 Coordinator2 & Data Node2
  • Node5 数据 Node3

注意:重要的是要指出,因为我刚刚发现 Postgres-XL 没有 HA 或故障转移支持。这意味着如果单个节点发生故障,则数据库将关闭并且需要手动干预。更糟糕的是,如果您使用循环、哈希、模共享选项,如果您丢失单个节点上的磁盘,您将完全丢失您的数据库。

您可以拥有镜像每个节点的备用节点,但这将使您需要的节点数量增加一倍,并且仍然不会进行故障转移。您必须手动配置它以使用备用节点并重新启动它。