Com quantos discos se constrói um banco de dados?

por Miguel Fornari

Uma pergunta que frequentemente me fazem é qual a configuração recomendada para um servidor de dados em uma empresa pequena ou média. Quanto disco é preciso, qual tipo de disco, etc...? É claro que a resposta exata depende da empresa e perfil de utilização, mas, de qualquer modo, sempre me arrisco a dar um conselho.

 

Não comprar um único disco com grande capacidade. Prefira três discos físicos diferentes.


Os motivos principais são relacionados a desempenho e tolerância a falhas. A minha configuração/sugestão padrão é utilizar os discos com objetivos específicos: no primeiro, grava-se o sistema operacional e todos os programas, incluindo o SGBD; o segundo disco deve ser utilizado para os dados e demais informações mantidas pelo SGBD; e o terceiro disco fica destinado para gravação dos arquivos log.

 

Desta maneira, há possibilidade de acesso paralelo a cada disco, o que pode representar um ganho real de desempenho. Os discos de executáveis e dados do SGBD tendem a apresentar um padrão de acesso aleatório, dependendo das solicitações dos usuários. O  disco de log será utilizado quase que somente para uma gravação seqüencial, ou seja, a cabeça de gravação vai estar sempre posicionada no local adequado.

 

O principal motivo para os três discos é a tolerância à falhas e política de backup. O disco de sistema operacional possui executáveis que podem ser reinstalados, na pior hipótese. Mas aconselho, fortemente, a manter uma cópia do disco, pois a maior possibilidade é perder algum setor do disco, e não todo ele. Por azar, imagine que o setor afetado é uma DLL importante o SGBD. O sistema operacional vai indicar que um certo arquivo esta corrompido e, utilizando o backup, será fácil regravar este arquivo. Muito mais rápido e simples que reinstalar/reconfigurar o SGBD, seja ele Oracle, IBM DB2, PostgreSQL ou MySQL.

 

Para o disco de dados é necessária uma política de backups mais freqüentes. Pode-se combinar backups completos no final de semana com backups incrementais a cada noite. Para cada arquivo de backup é importante haver duas cópias, uma dentro da empresa, e outra fora da empresa, para aquelas situações mais dramáticas. Caso seja perdido o disco de dados, a partir dos backups e do log de transações, que esta a salvo no terceiro disco, recupera-se toda informação de maneira simples, sem perdas.

 

E, finalmente, se perder o terceiro disco, nada muito grave ocorre. Pode-se reconfigurar o SGBD para que ele grave o log no primeiro disco (nunca no mesmo disco dos dados) até conseguir reposição para o HD. Devido ao baixo custo, é possível adquirir um quarto disco e mantê-lo a espera de um problema, para substituir um dos existentes.

 

Claro que estas recomendações estão voltadas para empresas menores, com orçamentos limitados. Quem tem condições de adquirir uma solução de storage de alto desempenho e confiabilidade, deve fazê-lo.

 

Finalmente, se a diretoria da empresa argumentar que tudo isto não é necessário, afinal os computadores funcionam, perguntem qual seria o custo de perder toda informação. Uma historinha de horror que aconteceu em  Porto Alegre, alguns anos atrás: a empresa foi assaltada, limpa total, levaram TODOS computadores existentes. Algum tempo depois, a empresa fechou por absoluto descontrole na parte administrativa. Não tinham informações necessárias básicas, como valores a pagar/receber, para calcular os impostos devidos, direitos trabalhistas, etc...