SQL Server: Uma matriz RAID-10 de 12 unidades ou 2 matrizes de 8 unidades e 4 unidades

SQL Server: Uma matriz RAID-10 de 12 unidades ou 2 matrizes de 8 unidades e 4 unidades

Configurando uma caixa para SQL Server 2008, qual daria o melhor desempenho (OLTP pesado)? Quanto mais unidades em um array RAID-10, melhor desempenho, mas perder 4 unidades para dedicá-las aos logs de transações nos proporcionará mais desempenho.

12 unidades em RAID-10 mais um hot spare.

OU

8 unidades em RAID-10 para banco de dados e 4 unidades RAID-10 para logs de transações mais 2 peças de reposição (uma para cada array).

Temos slots de 14 unidades para trabalhar e é um PowerVault mais antigo que não oferece suporte a peças de reposição globais.

Responder1

Eu iria em 02/10. Os logs são geralmente pequenos e sequenciais, e seu controlador RAID deve ser capaz de enfileirá-los com eficiência suficiente para gravá-los em 2 discos no ataque 1 sem perturbar o resto. Se o seu controlador RAID não puder fazer isso, esqueça qualquer divisão e vá para 12 se estiver com pressa. Se você tiver tempo, faça alguns testes e veja o que funciona. É uma pena a falta de peças sobressalentes globais, mas de qualquer forma parece que você tem uma caixa decente para brincar.

Responder2

No que diz respeito ao meu conhecimento limitado, há dois fatores principais a considerar

  1. As operações do arquivo de banco de dados geralmente serão aleatórias, então você deseja maximizar seu IOPS para aquele disco, onde as operações do arquivo de logs de transações geralmente serão sequenciais, então você deseja um bom rendimento bruto

  2. Você deseja armazenar seu banco de dados principal e logs de transações separadamente dessa maneira - se você perder seus discos de banco de dados principais, poderá regenerar o banco de dados a partir de um backup + logs de transações e, se perder apenas seus logs de transações, ainda terá o banco de dados principal.

Claro que é muito mais complicado que o resumo acima, mas isso é o básico. Portanto, eu diria para usar dois arrays separados e se você tiver capacidade para usar RAID10 para ambos, ótimo.

Responder3

Você deve se sair muito bem com 12 unidades em RAID-10, mas certifique-se de que o servidor tenha uma quantidade razoável de memória. O raciocínio é que se você tiver memória suficiente, a maioria das gravações de dados será armazenada em cache e muitas das gravações serão consolidadas em uma única transação de IO, afinal, quando se trata de gravar dados no disco. Isto é especialmente verdadeiro para o banco de dados OLTP. O cache fornece largura de banda suficiente para gravações de log de transações na mesma unidade. Você pode melhorar ainda mais o desempenho de gravação usando o controlador RAID de hardware com cache integrado protegido por BBU no modo write-back.

Observe também que usar 8+4 ou 10+2 também é uma boa opção, a única desvantagem que posso ver nisso é o uso ineficiente do armazenamento. Caso contrário, é sólido.

Responder4

Vocêdevedetermine sua carga de trabalho primeiro. E teste, teste, teste (não posso enfatizar o suficiente):

Em primeiro lugar, a afirmação "quanto mais discos no meu RAID 10, mais rápido ele será" não está correta. Isso depende muito de como o seu sistema RAID implementa esse nível de RAID (distribuição de gravações/leituras/striping/buffers... eu poderia continuar).

Em segundo lugar, embora seja sempre uma ótima ideia armazenar logs de transações em um local (disco) diferente do banco de dados, o ganho efetivo depende da sua carga de trabalho, há muitas gravações, mas pequenas, ou há poucas, mas gravações enormes, o que é a proporção de gravação/leitura, o tamanho das leituras... etc. pp.

Você diz que está fazendo muito OLTP. Pelo que entendi deste termo, isso significa muitas leituras, não muitas gravações (... não é? Confirme primeiro). Nesse caso, não há problema em armazenar os logs de transações no mesmo lugar - então eu optaria por12 unidades.

informação relacionada