Os sistemas de gerenciamento de banco de dados implementam seu próprio diário através dos logs do banco de dados, portanto, a instalação desse DBMS em um sistema de arquivos com lançamento diário prejudica o desempenho por meio de dois mecanismos:
-
O journalling redundante aumenta a quantidade de atividade do disco
-
O layout do disco físico pode ser fragmentado (embora alguns sistemas de arquivos com lançamento diário tenham mecanismos para limpar isso).
-
Muita atividade de disco pode preencher o diário, causando condições espúrias de 'disco cheio'.
Eu tenho visto uma instância há alguns anos onde isso foi feito no sistema de arquivos LFS em uma instalação do Baan em uma caixa HP / UX. O sistema teve problemas persistentes de desempenho e corrupção de dados que não foram diagnosticados até que alguém descobriu que os sistemas de arquivos foram formatados com o LFS.
Volumes contendo arquivos de banco de dados normalmente terão um pequeno número de arquivos grandes. Os servidores DBMS normalmente terão uma configuração que configura quantos blocos são lidos em uma única E / S. Números menores seriam apropriados para sistemas de processamento de transações de alto volume, pois eles minimizariam o armazenamento em cache de dados redundantes. Números maiores seriam apropriados para sistemas como armazéns de dados que faziam muitas leituras sequenciais. Se possível, ajuste o tamanho do bloco de alocação do sistema de arquivos para o mesmo tamanho que o bloco múltiplo lido para o qual o DBMS está configurado.
Alguns sistemas de gerenciamento de banco de dados podem funcionar com partições de disco bruto. Isso dá vários graus de ganho de desempenho, geralmente menos em um sistema moderno com muita memória. Em sistemas mais antigos, com menos espaço para armazenar em cache metadados do sistema de arquivos, a economia na E / S de disco era bastante significativa. As partições brutas tornam o sistema mais difícil de gerenciar, mas fornecem o melhor desempenho disponível.
Os volumes RAID-5 incorrem em mais sobrecarga de gravação que os volumes RAID-10, portanto, um banco de dados ocupado com muito tráfego de gravação terá um desempenho melhor (geralmente muito melhor) em um RAID-10. Os logs devem colocar volumes de disco fisicamente separados nos dados. Se o seu banco de dados for grande e principalmente somente leitura (por exemplo, um data warehouse), pode haver um caso para colocá-lo em volumes RAID-5, se isso não retardar indevidamente o processo de carregamento.
O cache de write-back em um controlador pode dar a você uma vitória em termos de desempenho, em detrimento da criação de alguns modos de falha (razoavelmente improvável, mas possível) nos quais os dados podem ser corrompidos. A maior conquista de desempenho para isso é em cargas de acesso altamente aleatórias. Se você quiser fazer isso, considere colocar os logs em um controlador separado e desabilitar o cache write-back nos volumes de log. Os logs terão, então, uma melhor integridade de dados e uma única falha não poderá eliminar os volumes de log e de dados. Isso permite restaurar a partir de um backup e avançar dos logs.