Banco de dados MySQL em vários servidores

11

Ok, realmente não sei como perguntar o que estou procurando para descobrir o que é provavelmente o motivo pelo qual minha leitura e pesquisa não estão produzindo nada relativo por dizer. Então, o que eu tenho atualmente é um único banco de dados MySQL, e eu sei que mais cedo ou mais tarde os dados vão se acumular e eu ficarei sem espaço neste servidor. Portanto, antes que isso aconteça, quero colocar as coisas em linha para que o banco de dados seja espalhado por várias máquinas, uma para balanceamento de carga e dois para puro fator de armazenamento.

Então, minha pergunta é: como isso funciona? Talvez eu esteja pensando também em 1 Dimensional aqui, mas não consigo descobrir como isso funcionaria, é um banco de dados que se espalha para a próxima máquina e a próxima à medida que os dados aumentam ou são bancos de dados individuais com o mesmo esquema para cada um, de qualquer maneira, simplesmente não consigo imaginar na minha cabeça e muito menos entrar em uma lógica para provas futuras sobre o que está sendo trabalhado atualmente. Como não queremos bater na parede e fazer uma parada completa no caso em que os dados são demais para uma máquina.

Então, o que eu tenho que ler, pesquisar, métodos, práticas etc. para me colocar no caminho certo com isso?

chris
fonte
Isso me ajudou, eu sou um novato quando se trata de (meu) serviço sql abrangendo várias máquinas. Estou com um pouco de dificuldade para encontrar as perguntas certas para entrar neste espaço. Marque com +1 a pergunta e a resposta. ;)
James T Snell

Respostas:

8

Você pode de fato, é o MySQL Clustering que precisa.

Um recurso em particular - " compartilhamento automático " - espalhará seus dados por várias máquinas. "Escala online" permite adicionar novos nós se você precisar de mais capacidade enquanto o banco de dados estiver em execução. Muito legal. Você pode baixá-lo aqui .

No entanto, existem algumas outras coisas que você pode considerar para resolver o problema, o que pode ser mais fácil de obter:

Obtenha um disco rígido maior!

Parece um pouco óbvio, mas se você pudesse dizer com segurança que um disco rígido de xxxGb duraria anos Y, então valeria a pena. Você pode tirar uma imagem da unidade e instalá-la na nova ou instalar como uma unidade adicional e mover os arquivos de dados do MySQL para a nova unidade. <

Divida as tabelas em vários bancos de dados.

Divida as tabelas em vários bancos de dados, que podem ser armazenados em várias unidades. O Windows Azure tem limitações de tamanho em seus bancos de dados e a Microsoft recomenda essa abordagem. Também melhora um pouco o desempenho.

Você pode arquivar dados?

Você é capaz de arquivar tabelas grandes em outra unidade? Os dados são realmente necessários? Se for histórico e necessário apenas para referência, você pode configurar um processo de arquivamento que o empurra para arquivos em outra unidade ou para arquivar tabelas em outro banco de dados que aponte para arquivos de dados em outra unidade?

greg84
fonte
O objetivo é que seja um sistema de produção, onde sim, algum arquivamento pode ser feito ao longo do tempo, mas, em geral, os dados esperados que serão regularmente chamados por um punhado de tabelas serão facilmente alguns terabytes. Embora o bit Clustering ajude bastante, terei que fazer uma leitura pesada sobre o assunto, obrigado. Infelizmente, quanto maior for o HD, muitos dados sobre um único ponto de falha para mim representam um grande risco.
chris