Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

No RDS posso criar Tabelas em uma Réplica de Leitura que não estão presentes no Mestre?


Sim, é possível. Estou usando com sucesso usando RDS , para caso específico de cache local.

Você precisa definir o read_only parâmetro em sua réplica para 0 . Eu tive que reiniciar meu servidor para que esse parâmetro funcionasse.

Vai funcionar bem se usar nomes de tabelas diferentes, pois o RDS não permite que você defina:replicate-ignore-table parâmetro.

Lembre-se que não deve haver nenhuma colisão de dados entre master<>slave. Se houver uma instrução que funcione bem em MASTER , mas falha em SLAVE , você acabou de interromper sua replicação. Isso pode acontecer, por exemplo. quando você criou a tabela em SLAVE primeiro, depois de algum tempo, você adicionou essa tabela ao MASTER . O CREATE instrução funcionará limpo em MASTER , mas falha em SLAVE , pois a tabela já existe.

Supondo que você precise ser muito cuidadoso, permitindo que seu aplicativo grave em SLAVE . Se você esquecer / ou cometer um erro e começar a escrever para ler a réplica de alguns de seus outros dados, no final poderá perder dados ou enfrentar problemas difíceis de depurar.