虽然创建没有主键的表绝对是一种不好的做法,但第三方应用程序有自己的架构,并且通过添加主键来更改第三方架构可能会比使用此类应用程序的决定更糟糕(因为我们无法预测它是否以及如何破坏其模式已更改的应用程序,并且它可能带来几乎无法预先知道的维护负担)。
但是,我需要托管这样一个应用程序并为其提供一个高度可用的数据库;该应用程序需要现代的 MySQL,因此 MySQL、MariaDB 和 Percona 都在考虑之列。我需要在数据中心内以及具有单个活动主服务器和其他备用主服务器的数据中心之间设置主主复制。据我目前收集到的信息,MySQL 中的组复制以及 MariaDB 和 Persona 所依赖的 Galera 都要求表具有主键。
有没有办法解开这个结呢?有没有一种方法可以建立一个高度可用的类似 MySQL 的数据库,在非常不希望更改架构或这是不可能的情况下不需要主键?