Como gerenciar muitas instâncias idênticas de um esquema MySQL em muitas máquinas?

Como gerenciar muitas instâncias idênticas de um esquema MySQL em muitas máquinas?

Estou trabalhando em um projeto que possui um esquema de banco de dados MySQL usado em três servidores diferentes (bancos de dados MySQL) em 20 cópias do esquema para cada servidor (que são todos idênticos em formato, mas contêm dados diferentes)... então 60 cópias do mesmo esquema espalhadas por três máquinas.

Essas máquinas reportam seus resultados a uma máquina host. O problema que estou enfrentando é gerenciar quaisquer alterações de esquema enquanto tudo está implantado. Cada vez que quero adicionar ou remover uma coluna, tenho que replicar a consulta 20 vezes e depois copiá-la em três máquinas. Existe algum software que eu possa usar para gerenciar todas essas instâncias de banco de dados idênticas (no esquema, não no conteúdo dos dados, obviamente)? Quero encontrar um software que examine todas as instâncias do banco de dados e me informe sobre quaisquer alterações de esquema entre elas (bem como os tamanhos das tabelas das instâncias individuais).

Existe algum software que possa me ajudar a gerenciar tudo a partir de uma GUI de fonte única ou de um programa de linha de comando?

Responder1

Existem algumas opções que podem ajudá-lo com isso, algumas são:

  • Ansible
  • Jenkins
  • Deck de corrida

Você pode integrar Jenkins com webhooks Github, Bitbucket ou Gitlab, para que cada vez que um novo commit seja feito, um pipeline DevOps seja lançado.

Se você estiver usando algum framework como Rails, você também pode executar migrações e seeders a partir dele usando esses softwares, o que também é uma opção para manter a versão do esquema do seu banco de dados controlada.

Cia!

informação relacionada