gpt4 book ai didi

database - 关于H2数据库CreateCluster工具的问题

转载 作者:搜寻专家 更新时间:2023-10-30 20:20:58 25 4
gpt4 key购买 nike

我有几个关于 H2 的创建集群工具行为的问题。

  1. 如果创建一个指定源 A 和目标 B 的集群,H 是否会让 B 与 A 保持同步?也就是说,两者之间是否维持着主从关系?

  2. 假设数据库 A、B 和 C 属于同一个集群。如果同时在 A 和 B 上执行两个不同的事务会发生什么。 H2 是否会在集群中选举领导者以确保集群中的所有数据库都有唯一的执行顺序?

  3. 如果 H2 选出一个领导者,如果这个领导者消失了怎么办?是否有自动故障转移机制?新的领导者是自动选举出来的吗?我还可以吗

  4. 如果我创建一个集群,其中源 A -> 目标 B,然后是源 B -> objective-c ,然后是源 C -> 目标 D,D 会从 C 获取要执行的语句,C 从 B 获取执行语句和 B 获取要为 A 执行的语句? Or will B, C and D get execution statements from A (or the elected leader)?换句话说,我们有链式还是明星组织?

最佳答案

参见 cluster documentation在 H2 网站上。

  1. 没有master/slave,没有leader,集群节点之间没有连接。相反,每个客户端连接到两个集群节点并在两个节点上执行语句。

  2. 每个客户端以相同的顺序在所有 集群节点上执行所有语句。每个客户端都有一个集群节点列表,每个集群节点也保存这个列表。客户端验证列表是否相同。

  3. 没有领导者。故障转移机制是:如果客户端失去与其中一个集群节点的连接,它将从其列表中删除该集群节点,并通知每个集群节点从列表中删除该集群节点。

  4. 这只会扩展列表,以便您获得 A、B、C、D。然后每个客户端将在每个集群节点上执行所有更新语句。

关于database - 关于H2数据库CreateCluster工具的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6145459/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com