Embora criar tabelas sem chaves primárias seja definitivamente uma má prática, existem aplicativos de terceiros com seus próprios esquemas, e alterar o esquema de terceiros adicionando uma chave primária pode ser ainda pior do que a decisão de usar tal aplicativo foi ( porque não podemos prever se e como isso quebra o aplicativo cujo esquema foi alterado e isso pode trazer uma carga de manutenção que mal pode ser conhecida antecipadamente).
No entanto, preciso hospedar tal aplicativo e ter um banco de dados altamente disponível para ele; o aplicativo requer um MySQL moderno, então MySQL, MariaDB e Percona estão disponíveis. Preciso configurar a replicação mestre-mestre dentro de um datacenter e entre datacenters com um único mestre ativo e outros apenas aguardando. Pelo que consegui reunir até agora, a replicação de grupo no MySQL e o Galera, do qual MariaDB e Persona dependem, exigem que as tabelas tenham uma chave primária.
Existe uma maneira de desembaraçar esse nó? Existe uma maneira de configurar um banco de dados semelhante ao MySQL altamente disponível que não exija as chaves primárias para casos em que a alteração do esquema é altamente indesejável ou isso é impossível?