SQLServer Dividir arquivo de banco de dados e grupos de arquivos

2

Eu sou um desenvolvedor de software, mas este mês eu tenho que fazer algumas tarefas administrativas do banco de dados. Eu tenho algumas lacunas de conhecimento sobre como dividir o banco de dados, aqui minha primeira abordagem:

  • FileGroup para tabelas
  • FileGroup para tabelas sem alterações
  • FileGroup para dados de alta capacidade
  • Grupo de arquivos para texto e imagens

Além disso, tenho uma SAN com um disco RAID1 para o log de transações e disco RAID6 para os arquivos de banco de dados.

A minha pergunta é, com esta configuração do banco de dados, eu tenho que criar um arquivo para cada grupo de arquivos? está correto a configuração do grupo de arquivos? Existe algum vazamento de desempenho?

Obrigado antecipadamente

    
por pau. 17.02.2010 / 13:14

2 respostas

2

Qual é o tamanho deste banco de dados? Quanto tráfego é provável ver?

Nenhum dos bancos de dados do nosso servidor SQL atingiu o ponto de precisar de mais de um arquivo para dados e outro para logs.

Como doug_w diz, teste várias configurações e veja como elas funcionam. Mas lembre-se de não exagerar e dificultar a manutenção, pois o tempo médio de resposta será 10% mais rápido quando a média com o simples for 0,1 segundos.

EDITAR: Após o seu comentário dando tamanho e números de usuários. Meu sentimento é que como você divide os dados vai depender do que eles estão fazendo. Todos eles estarão atingindo as mesmas poucas tabelas, ou todos eles atingem a maioria das tabelas, ou é distribuído de forma bastante aleatória? Se todos os usuários estiverem aptos a acessar as mesmas tabelas, seja um pouco ou mais. Em seguida, minha primeira configuração de teste seria colocar os dados em um único arquivo em um conjunto de discos. Obviamente, embora isso seja apenas um começo, ainda precisa ser testado.

Além disso, notei que você já tem um RAID 6 para dados. Você pode mudar isso, como em fazer para 2 matrizes separadas. Você não obterá nenhum ganho de desempenho ao dividir o banco de dados em grupos de arquivos separados se todos os arquivos estiverem no mesmo conjunto de fusos. Se você estiver preso ao único conjunto de discos, o único motivo para dividir o banco de dados entre grupos de arquivos é facilitar a manutenção. Coisas como backups podem ser feitas no nível do grupo de arquivos, portanto, se você agrupar todos os dados alterados com freqüência em um grupo de arquivos, você poderá fazer o backup com mais frequência e não precisar fazer o backup de cargas de dados estáticos. Novamente, isso depende da sua estratégia de backup, se você não tem prazos de recuperação muito curtos, então você pode estar satisfeito com um backup completo todas as noites e apenas fazer backup de backups durante o dia.

    
por 17.02.2010 / 21:14
0

Se você especificar o objetivo, poderá obter melhores respostas, mas aqui está uma chance de fornecer algumas informações gerais sobre o assunto: usando arquivos e grupos de arquivos .

Você precisará de um arquivo em cada grupo de arquivos, no mínimo. Se você adicionar mais de um arquivo a um grupo de arquivos, o sql server utilizará esses arquivos proporcionalmente com base no tamanho do arquivo (somente arquivos de dados, os arquivos de log serão tratados de forma diferente).

Tabelas que são freqüentemente associadas existentes em grupos de arquivos separados podem gerar ganhos de desempenho.

Test Test Test.

HTH

    
por 17.02.2010 / 20:39