Uso do disco de melhores práticas para o SQL Server

4

Eu tenho lido que é uma prática recomendada colocar o seguinte em discos separados para desempenho e segurança:

  • tempdb
  • arquivo de banco de dados
  • arquivo de log
  • arquivos de backup

Quando você considera o RAID usando vários discos, isso se torna uma quantidade enorme de discos físicos sendo usados.

Eu entendo que arquivos de log se beneficiam de estar em seu próprio disco físico devido ao seu padrão de gravação seqüencial, mas os outros arquivos podem ser separados em discos "lógicos" em vez de físicos?

    
por Chris 28.03.2013 / 00:18

5 respostas

4

Ao escolher uma solução primeiro, você deve saber a carga de trabalho máxima para a qual seu banco de dados deve estar pronto.

Se você tiver um produto que está instalando, esse produto terá uma recomendação para a configuração de diferentes cargas de trabalho.

Se o produto for projetado internamente, faça o benchmark, crie limites e custo de desempenho. Implante seu aplicativo gradualmente. Lembre-se do GMail convida? Eles foram criados para testar seu aplicativo na natureza, mas com um número controlado de usuários.

Separar os dados em partições é quase inútil. O único benefício é que a fragmentação será um pouco mais localizada, mas as solicitações do banco de dados são principalmente acesso aleatório.

NÃO use o RADI5. Use RAID1 ou RAID10. Pode ser RAIDZ (ZFS em uma SAN iSCSI) se a integridade dos dados for crítica.

    
por 28.03.2013 / 01:05
2

...can the other files be separated onto "logical" disks instead of physical ones?

Você pode colocá-los em diferentes discos lógicos que estão nos mesmos discos físicos. Isso não lhe dará todas as vantagens de usar discos físicos separados, mas se decidir mais tarde que precisa de mais discos físicos, será mais fácil mover os discos lógicos para os novos discos físicos.

    
por 28.03.2013 / 14:24
2

Você está olhando para uma troca tripla.

  • Velocidade
  • Risco
  • Custo

Para obter a velocidade mais rápida e o menor risco, você geralmente terá um custo maior. Na minha experiência, a maioria dos CEOs e CFOs quer maximizar a velocidade e minimizar os custos. Leva um tempo para que eles apreciem o custo de aceitar os riscos que acompanham a maximização de velocidade e a minimização de custos.

Por outro lado, os DBAs tendem a querer minimizar o risco.

Se você armazenar o banco de dados e seus backups no mesmo servidor, o que destruir o servidor também poderá destruir seus backups. Isso geralmente não é um risco aceitável, mas depende do aplicativo. É preciso um evento bastante grande para destruir um servidor; Eu acho que nunca vi um destruído.

Se você armazenar um banco de dados e seus backups no mesmo disco físico, o que destruir o disco poderá destruir o banco de dados e seus backups. Eu vi discos destruídos algumas vezes. Isso é quase sempre um risco inaceitável.

Alguns problemas de velocidade podem ser mitigados com discos de estado sólido, mas estes vêm com custos diferentes e com alguns novos riscos.

Pessoalmente, eu não gostaria de manter backups no mesmo servidor que o banco de dados, mas posso estar disposto a escrever os backups no mesmo servidor (antecipando alta velocidade e baixo custo), e copie ou mova-os para outro lugar mais tarde.

    
por 28.03.2013 / 16:03
1

Existem dois motivos principais para distribuir arquivos de banco de dados em vários discos: desempenho e disponibilidade.

A disponibilidade se resume a isso: você apenas não quer perder arquivos de dados, arquivos de log e arquivos de backup ao mesmo tempo; perder um deles é aceitável, perder dois deles é uma grande bagunça, perder todos eles é um desastre completo. Assim, você os coloca em discos diferentes para minimizar esse risco (e você realmente deve ter backups em outro servidor ou armazenamento externo; às vezes um servidor pode e será completamente destruído). Para que isso faça sentido, a chave é usar diferentes discos físicos : ter vários volumes lógicos no mesmo armazenamento físico não ajudará em nada quando o armazenamento físico for interrompido.

O desempenho é um pouco mais complicado, e para grandes bancos de dados também será necessário mais de dois ou três locais para armazenar arquivos; mas isso depende strongmente do design do banco de dados e da carga de trabalho. No entanto, em todos os cenários possíveis, isso ainda faz sentido apenas se discos físicos diferentes estiverem envolvidos: de que maneira dividir duas operações de disco ... se elas acabam sendo executadas pelos mesmos discos? Os discos ainda terão que lidar com solicitações simultâneas com padrões de acesso diferentes e atuando em setores diferentes, assim como teriam que fazer se os arquivos estivessem no mesmo volume.

    
por 28.03.2013 / 16:23
0

Um benefício menor que você obtém mesmo se estiver usando apenas unidades lógicas separadas é que, se qualquer um dos componentes individuais ficar sem espaço, isso não significará necessariamente que todos os outros tenham espaço ao mesmo tempo. - um fracasso um pouco mais gracioso.

    
por 02.04.2013 / 12:26