Introdução Eu deriguei esta pergunta da minha pergunta anterior Single Drive vs Multiple Drives
Depois de obter uma resposta muito detalhada de um membro muito útil RolandoMySQLDBA e aprender o fato de que várias unidades podem ajudar muito em alguns casos. Comecei a procurar em várias unidades para minha configuração, que é apenas um bit em comparação com o que encontrei.
Mais informações Encontrei armazenamentos bastante grandes como
http://www.newegg.com/Product/Product.aspx?Item=N82E16811152212
Enquanto alguns vídeos mostram até GBs de velocidade de gravação desse tipo de equipamento
- http://www.youtube.com/watch?v=Xjgw2ENYF6w
- http://www.youtube.com/watch?v=PniGlSI900k
- http://www.youtube.com/watch?v=I8ToJ4Blw74
Pergunta real Desde que haja RAM suficiente para armazenar índices, o MySQL ou outro RDBMS de código aberto (não RDBMS de nível empresarial como o Oracle, porque sua execução em SAN é bastante comum) pode ser executado nessas bestas facilmente?
PORQUE eles contêm uma verdadeira configuração de vários drives e dezenas de cabeçotes estão disponíveis.
Tenho certeza de que não seria tão simples porque, se fosse tão fácil, por que a maioria das configurações corporativas usa servidores comuns. Então, quais problemas são enfrentados ao usar essas soluções de armazenamento extremas?
Tudo o que você precisa fazer é executar estas consultas:
MyISAMGenericName
InnoDBGenericName
Eles recomendarão os tamanhos corretos para o MyISAM Key Cache para o MyISAM existente e o InnoDB Buffer Pool para dados e índices do InnoDB.
Enquanto a execução dessas consultas SQL recomenda os tamanhos de buffer, o fator humano ainda deve entrar em ação. Devemos planejar o uso de dados com base no hardware e nos dados acessados com frequência. Também devemos perguntar: Da quantidade de buffer recomendada, quanto do meu conjunto de trabalho realmente residirá na memória?
Se você configurar o MySQL para usar 75% da RAM para InnoDB, mesmo em um servidor MySQL dedicado, o sistema operacional terá uma paginação ocupada para o disco. Só porque o MySQL pode usar números enormes para tamanhos de buffer não significa que está certo ultrapassar os limites. Dois têm dois mecanismos básicos de armazenamento a serem considerados.
O uso de hardware comum apenas demonstra a configurabilidade do MySQL com resultados perceptíveis. A menos que você esteja usando RHEL de 32 bits ( se estiver, pare de usá-lo agora, tome bastante café, vá atualizar ), aumentar os tamanhos de buffer em bestas de armazenamento pode ser bem confiável.
Por exemplo, meu empregador tem um cliente com 3 servidores de banco de dados dedicados apenas ao MySQL. Cada um tem 192 GB de RAM, dos quais 162 GB são o InnoDB Buffer Pool. O conjunto de trabalho é, na verdade, 170 GB. Embora haja um pouco de troca e paginação acontecendo, o desempenho do banco de dados é surpreendente. O sistema operacional tem cerca de 30 GB de RAM para si (16 GB de disco RAM para tabelas temporárias). Tenho certeza de que esses servidores são apenas pequenos lagartos em comparação com os servidores de banco de dados do tamanho de um dragão de komodo por aí. O MySQL pode estar à altura da tarefa se configurado corretamente .
Lembre-se de que o InnoDB coloca suas próprias verificações e balanços porque o código-fonte atual limita os arquivos de log do InnoDB a 4 GB. Esse é o caso porque o InnoDB foi originalmente projetado tendo em mente o hardware comum. À luz disso, a taxa de transferência da transação ACID pode ser um gargalo, independentemente da configuração de hardware do monstro de armazenamento e da versão do MySQL que você escolher para executar.
CONCLUSÃO
Não há problema em forçar os limites dos servidores de banco de dados Big Beefy. Você sempre deve fazer isso levando em consideração o sistema operacional em termos de memória, espaço de troca, conjunto de dados de trabalho e número de transações esperadas.