none
PERFORMANCE STORAGE RRS feed

  • Pergunta

  • Ola a todos....

     

    Estou com uma duvida e gostaria de compartilhar com voces...

     

    É o seguinte...tenho uma tabela de imagem que cresce quase 2GB/mes e eu gostaria de colocá-la em um Disco diferente das outras por questões de performance..

     

    Na epoca da implementação dessa maquina...definimos que o mdf e ndf´s desse sqlserver seriam de no maximo 30GB cada...por problemas de contenção de i/o...

     

    Enfim...hoje na maquina...eu tenho uma partição de 100GB livres (sem uso) que eu estou pensando em colocar essa tabela de imagens....

    Como esse espaço esta em um Storage compartilhado de um Dc...gostaria de saber se é interessante dividir esses 100GB em 3 partições de 30GB por exemplo..(visivel para o Windows)... ou eu posso dividir isso pelo sql em 1 filegroup com 3 datafiles de 30GB?

    Daria na mesma? Eu sei que caso fossem DISCOS distintos não daria na mesmo...porém como é um storage compartilhado...(em RAID 5)...qual seria a melhor opção?

     

    Desde já agradeço,

     

    Daniel


    Daniel
    • Movido Gustavo Maia Aguiar quarta-feira, 28 de abril de 2010 14:22 (De:SQL Server - Desenvolvimento Geral)
    quarta-feira, 28 de abril de 2010 12:16

Respostas

  • Daniel,

    Acho mais prático você dividir o seu conteúdo em 1 filegroup com 3 datafiles de 30GBs ao invês de ficar compartilhamento seu disco rígido em unidades distintas, que ao meu ver não vão trazer muita vantagem.

    Se você estivesse trabalhando com Hd separados ai a história seria outra!!!!

    Quando falamos de performance o Raid 5 é um questionado!!! A performance vai se basear na velocidade dos HD's não na sua forma de implementação, o conceito de Raid consiste em manter sua ambiente disponível.


    Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário]
    • Marcado como Resposta Daniel Zaitz quarta-feira, 28 de abril de 2010 18:14
    • Não Marcado como Resposta Daniel Zaitz quinta-feira, 29 de abril de 2010 19:22
    • Marcado como Resposta Daniel Zaitz segunda-feira, 3 de maio de 2010 12:30
    quarta-feira, 28 de abril de 2010 18:02
    Moderador
  • Boa Noite,

    Esse é um problema comum das bibliografias de SQL Server. O mundo Storage evoluiu, mas os conceitos de RAID e discos na bibliografia ainda contemplam as implementações de anos atrás. Antigamente as implementações DAS, Parallel SCSI e Serial SCSI realmente tornavam os discos dedicados, ou seja, atachava-se um disco ou conjunto de discos diretamente a um servidor e os discos eram realmente dedicados.

    Hoje com a utilização crescente de SANs não faz mesmo tanto sentido achar que os discos são realmente dedicados. Haverá várias LUNs compartilhando porções de discos entre vários servidores conectados através das fibras e será pouco provável que os discos sejam realmente dedicados. Bem, mas deixando isso um pouco de lado... Vamos às respostas.

    Se eu criar um outro filegroup só para essa tabela de 60GB  e criar 3 discos de 20GB,por exemplo,quando eu criar a pk dessa tabela nesse novo filegroup...os dados serão balanceados nos 3 discos ? Ou a medida que eles vão enchendo o Sql vai usando o outro?
    R:
    Para arquivos de dados, o SQL Server faz o balanceamento proporcional. Como são três arquivos de mesmo tamanho, o SQL Server irá distribuir a carga de forma igual entre os três discos. Embora faça algum sentido, seria um desperdício se o SQL Server enchesse um disco para depois utilizar o outro. Você perderia todos os benefícios da escrita em paralelo.

    Caso o Sql faça esse balanceamento...eu teria algum ganho com relação a I/O ? Visto que os discos estão todos em Raid 5 em Storage ?
    R:
    Essa é uma pergunta difícil de responder. No primeiro ponto de vista, se no final das contas, os arquivos estiverem concorrendo exatamente pelos mesmos recursos não haverá ganho de desempenho. Não adiantará se os arquivos estiverem exatamente nos mesmos discos do storage, pois, a concorrência será a mesma. Sobre outro ponto de vista, se a taxa de gravação dos arquivos não superar a vazão do storage, a divisão em mais arquivos poderá explorar isso e você terá um desempenho melhor, pois, se um arquivo não for capaz de estressar o subsistema de discos, dois ou três arquivos farão um melhor trabalho. Como o sistema é RAID 5 as probabilidades disso acontecer são menores. Acho que só mesmo testando para descobrir.

    [ ]s,

    Gustavo Maia Aguiar
    http://gustavomaiaaguiar.spaces.live.com

    Simulado para o Exame 70-433 - MCTS: Microsoft SQL Server 2008 - Database Development – Parte 01
    http://gustavomaiaaguiar.spaces.live.com/blog/cns!F4F5C630410B9865!1018.entry


    Classifique as respostas. O seu feedback é imprescindível
    • Sugerido como Resposta Gustavo Maia Aguiar segunda-feira, 3 de maio de 2010 02:44
    • Marcado como Resposta Daniel Zaitz segunda-feira, 3 de maio de 2010 12:30
    segunda-feira, 3 de maio de 2010 02:44

Todas as Respostas

  • Alguma ajuda ai pessoal?

    Daniel
    quarta-feira, 28 de abril de 2010 18:02
  • Daniel,

    Acho mais prático você dividir o seu conteúdo em 1 filegroup com 3 datafiles de 30GBs ao invês de ficar compartilhamento seu disco rígido em unidades distintas, que ao meu ver não vão trazer muita vantagem.

    Se você estivesse trabalhando com Hd separados ai a história seria outra!!!!

    Quando falamos de performance o Raid 5 é um questionado!!! A performance vai se basear na velocidade dos HD's não na sua forma de implementação, o conceito de Raid consiste em manter sua ambiente disponível.


    Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário]
    • Marcado como Resposta Daniel Zaitz quarta-feira, 28 de abril de 2010 18:14
    • Não Marcado como Resposta Daniel Zaitz quinta-feira, 29 de abril de 2010 19:22
    • Marcado como Resposta Daniel Zaitz segunda-feira, 3 de maio de 2010 12:30
    quarta-feira, 28 de abril de 2010 18:02
    Moderador
  • Junior....

     

    Tenho outra duvida...

     

    Vamos supor que eu tenha uma tabela de 30GB em apenas 1 filegroup que tem um arquivo de dados só....

     

    Se eu criar um outro filegroup só para essa tabela de 60GB  e criar 3 discos de 20GB,por exemplo,quando eu criar a pk dessa tabela nesse novo filegroup...os dados serão balanceados nos 3 discos?Ou a medida que eles vão enchendo o Sql vai usando o outro?

     

    Caso o Sql faça esse balancioamento...eu teria algum ganho com relação a I/O? visto que os discos estão todos em raid 5 em storage?

     

    Abraços,

     

    Daniel


    Daniel
    quinta-feira, 29 de abril de 2010 14:52
  • Alguma ajuda pessoal?

     


    Daniel
    quinta-feira, 29 de abril de 2010 19:05
  • Boa Noite,

    Esse é um problema comum das bibliografias de SQL Server. O mundo Storage evoluiu, mas os conceitos de RAID e discos na bibliografia ainda contemplam as implementações de anos atrás. Antigamente as implementações DAS, Parallel SCSI e Serial SCSI realmente tornavam os discos dedicados, ou seja, atachava-se um disco ou conjunto de discos diretamente a um servidor e os discos eram realmente dedicados.

    Hoje com a utilização crescente de SANs não faz mesmo tanto sentido achar que os discos são realmente dedicados. Haverá várias LUNs compartilhando porções de discos entre vários servidores conectados através das fibras e será pouco provável que os discos sejam realmente dedicados. Bem, mas deixando isso um pouco de lado... Vamos às respostas.

    Se eu criar um outro filegroup só para essa tabela de 60GB  e criar 3 discos de 20GB,por exemplo,quando eu criar a pk dessa tabela nesse novo filegroup...os dados serão balanceados nos 3 discos ? Ou a medida que eles vão enchendo o Sql vai usando o outro?
    R:
    Para arquivos de dados, o SQL Server faz o balanceamento proporcional. Como são três arquivos de mesmo tamanho, o SQL Server irá distribuir a carga de forma igual entre os três discos. Embora faça algum sentido, seria um desperdício se o SQL Server enchesse um disco para depois utilizar o outro. Você perderia todos os benefícios da escrita em paralelo.

    Caso o Sql faça esse balanceamento...eu teria algum ganho com relação a I/O ? Visto que os discos estão todos em Raid 5 em Storage ?
    R:
    Essa é uma pergunta difícil de responder. No primeiro ponto de vista, se no final das contas, os arquivos estiverem concorrendo exatamente pelos mesmos recursos não haverá ganho de desempenho. Não adiantará se os arquivos estiverem exatamente nos mesmos discos do storage, pois, a concorrência será a mesma. Sobre outro ponto de vista, se a taxa de gravação dos arquivos não superar a vazão do storage, a divisão em mais arquivos poderá explorar isso e você terá um desempenho melhor, pois, se um arquivo não for capaz de estressar o subsistema de discos, dois ou três arquivos farão um melhor trabalho. Como o sistema é RAID 5 as probabilidades disso acontecer são menores. Acho que só mesmo testando para descobrir.

    [ ]s,

    Gustavo Maia Aguiar
    http://gustavomaiaaguiar.spaces.live.com

    Simulado para o Exame 70-433 - MCTS: Microsoft SQL Server 2008 - Database Development – Parte 01
    http://gustavomaiaaguiar.spaces.live.com/blog/cns!F4F5C630410B9865!1018.entry


    Classifique as respostas. O seu feedback é imprescindível
    • Sugerido como Resposta Gustavo Maia Aguiar segunda-feira, 3 de maio de 2010 02:44
    • Marcado como Resposta Daniel Zaitz segunda-feira, 3 de maio de 2010 12:30
    segunda-feira, 3 de maio de 2010 02:44
  • Muito obrigado Gustavo! voçê me ajudou muito!
    Daniel
    segunda-feira, 3 de maio de 2010 12:30