Mysql MariaDB Galera簇引用完整性约束

Mysql MariaDB Galera簇引用完整性约束,mysql,database,mariadb,replication,galera,Mysql,Database,Mariadb,Replication,Galera,我们正在评估MariaDB Galera集群的应用程序。据我所知,集群支持行级和语句级复制。我们倾向于行级复制。我们的数据模型有多个相互关联的实体。我们将在实体之间建立外键关系 希望了解如果使用基于行的复制,集群将如何处理以下场景 1> 集群有3个节点 2> 有像班级和学生这样的实体。在这里我们有一个外键学生->类 3> 我们得到两个节点(N1和N2)从两个不同的事务中得到两个单独的更新 A)在时间t1:节点N1分别为特定类c1和c2的学生(s1和s2)获取插入信息。 B) 在时间t2:从节点N

我们正在评估MariaDB Galera集群的应用程序。据我所知,集群支持行级和语句级复制。我们倾向于行级复制。我们的数据模型有多个相互关联的实体。我们将在实体之间建立外键关系

希望了解如果使用基于行的复制,集群将如何处理以下场景

1> 集群有3个节点

2> 有像班级和学生这样的实体。在这里我们有一个外键学生->类

3> 我们得到两个节点(N1和N2)从两个不同的事务中得到两个单独的更新

A)在时间t1:节点N1分别为特定类c1和c2的学生(s1和s2)获取插入信息。

B) 在时间t2:从节点N2删除类c1

C) 在时间t3:更改(学生s1和s2的添加)从N1推送到N2

涉及学生添加的整个事务是否会回滚?
仅限RBR

在提交时,必须检查错误。这是检查与其他节点冲突的时间

也就是说,一个节点可能没有冲突,只会发现(在
COMMIT
)该节点上看起来不错的内容将与其他节点上同时发生的内容发生冲突

更多

通常,每当您遇到“死锁”时,只需重新运行整个事务。它可能会第二次工作(或者遇到其他错误,因为远程事务已使其成为当前节点)