【问题标题】:Can I trust MariaDB Galera cluster unique key我可以信任 MariaDB Galera 集群唯一密钥吗
【发布时间】:2014-04-08 22:16:34
【问题描述】:

考虑 MariaDB Galera 集群中的以下表结构:

CREATE TABLE test (
  `name` varchar(100) NOT NULL,
  `master` tinyint(1) DEFAULT NULL,
  PRIMARY KEY (`name`),
  UNIQUE KEY `master` (`master`)
) ENGINE=InnoDB;

如果这是在具有多个节点的集群上运行,那么我会并行执​​行:

INSERT INTO test (name, master) VALUES('node1', 1);

在另一个节点上

INSERT INTO test (name, master) VALUES('node2', 1);

我可以相信一个查询不会替换另一个吗?

如果两个查询完全同时运行,其中一个是否仍会返回错误?

如果查询没有返回错误,我可以相信没有其他 INSERT 可以用其他名称替换该行吗?

【问题讨论】:

    标签: database cluster-computing mariadb galera


    【解决方案1】:

    将强制执行唯一约束。 Galera 使用乐观锁定,我不确定第二个到达集群的查询是否会返回正常的重复条目错误或有关事务冲突的不同错误,但只会插入一个。

    【讨论】:

    • 谢谢! “乐观锁定”是我调查这个问题并找到好的资源来阅读这个问题所需要的关键。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-07-22
    • 1970-01-01
    • 2017-02-06
    • 2013-06-26
    • 2014-07-30
    • 2014-05-21
    • 2019-01-07
    相关资源
    最近更新 更多