Como devo configurar esses discos em um SQL Server para uma configuração de BI?

8

Supondo memória constante (32 gb) e CPU (4), 2 x matrizes de disco, tenho os seguintes discos

  • 2 x 150 (10k)
  • 6 x 150 (15k)

Eles são todos discos locais.

Meus requisitos

  • Meu banco de dados tem 350GB e está definido como um padrão de crescimento de 10%
  • Meu SO e SQL Server são o servidor 2k8R2 (C: SO da unidade + página + aplicativos = 55Gb)
  • Os requisitos de log são de cerca de 70 GB e configurados para o padrão de 10% de crescimento e são rotineiramente truncados
  • Atualmente, o meu TempDb é de cerca de 12 GB e está definido como um padrão de crescimento de 10%

Meu problema é que estou tentando entender onde colocar melhor o TempDB, o SO e o Log. Minha experiência é limitada na configuração ideal desses dois

Este não é um sistema transacional online. Ele possui gravação pesada de dados (novos dados + índices são reconstruídos / reorganizados), depois leitura pesada de dados (estou estimando em cerca de 50/50) o processamento por cerca de 13 horas e, então, é silencioso.

Meu entendimento é que o TEMPDB é muito usado durante o processamento normal comparado ao log.

Minha ideia é a seguinte

  • 2 x 150g (15k) Raid 1 = 150g para OS + TempDB
  • 2 x 150g (10k) Raid 1 = 150g para LOG (observe os discos mais lentos aqui)
  • 4 x 150g (15k) Raid 5 = 150g para dados

Isso soa como uma boa ideia? Eu poderia então trocar o Log + TempDB, se necessário.

Estou violando regras fundamentais, como nunca colocar o TempDB no disco do SO devido a problemas de paginação ou talvez nunca colocar o log no disco mais lento que os dados ?

Editar:

Também temos um SSAS no sistema e os usuários finais acessam apenas o Cubo. A leitura de 50% acima é baseada no tempo que leva para processar o banco de dados SSAS.

Preet Sangha
fonte

Respostas:

7

2 * 10k RAID1 para OS, 6 * 15k RAID10 para todo o resto. Honestamente, com esse número de discos, 1 matriz é a aposta mais segura e geralmente mais rápida.

Se você tiver tempo para testar e ter uma carga de trabalho repetível e mensurável no mundo real, faça um teste com seu tempdb na unidade do SO (ressalte: limite o crescimento do arquivo tempdb para garantir que você não estrague o SO) . Por outro lado, você pode ver melhorias moderadas em sua carga e manutenção de dados com o log lá, pelo que vale a pena uma ou duas rodadas de teste, se o tempo permitir.

Mark Storey-Smith
fonte
Há algo a ser tido com matrizes extras? O TempDB não deve estar em um conjunto de matriz / eixo separado? Estou estimando o 50/50, pois ele é baseado em 50% de processamento DW e 50% de processamento SSAS (6 horas de leitura).
precisa saber é o seguinte
Não vejo menção de um cubo de serviços de análise em sua pergunta original. O banco de dados relacional e o cubo são consultados pelos usuários finais ou apenas o cubo?
Mark Storey-Smith
11
+1 Gostei da sua recomendação. Vale a pena notar que, se ele colocar o tempdb na unidade do SO, definitivamente limitará o tamanho máximo dos arquivos do banco de dados. Todos podemos concordar que não queremos que arquivos de banco de dados nocivos preencham essa unidade específica.
Thomas Stringer
11
O @PreetSangha Belief não é uma excelente base para planejar uma implantação de servidor ou armazenamento. Você precisa investir algum tempo pesquisando e entendendo por que isso é apropriado em alguns cenários e não em outros. Separar seu cubo do banco de dados relacional pode ter pernas aqui, mas quem pode saber sem testá-lo. Não é difícil e rápido, tamanho único, abordagem JFDI para isso, eu receio.
Mark-Storey-Smith
2
Se você puder testar e medir os vários cenários com sua carga de trabalho, pode ser que esteja no local. Quando / se você não puder, um grande estoque de armazenamento o mais rápido possível absorverá os caroços e os solavancos melhor do que um tiro no escuro. Sinta-se à vontade para entrar no bate - papo, se quiser trocar idéias. Existem vários usuários regulares com mais experiência em SSAS do que eu que podem ter sugestões para determinar como / se você deve dividir o cubo do banco de dados.
Mark Storey-Smith
3

Concordo com Mark no sentido de que a abordagem ideal é colocar as duas unidades mais lentas no RAID 1 somente para O / S, e o restante das unidades no RAID 10 para todo o resto. Isso seria o ideal.

Com base nos tamanhos que você deu, no entanto, isso praticamente o leva a começar, com muito pouca margem para erro e sem espaço para crescimento. E, a propósito, se alguém lhe disser que as unidades são de 150 GB, elas podem ser menores que isso (146 GB?), Não formatadas, o que provavelmente significa que nem tudo se encaixará imediatamente.

Infelizmente, a carga de trabalho envolve gravações pesadas e, por isso, o RAID 5 ... não é seu amigo.

Se você conseguir organizar um pouco de orçamento extra, existem algumas abordagens:

  • Mais duas unidades de 15k do mesmo tamanho. Dependendo do que significa "2 x matrizes de disco", mais de 8 unidades no total podem significar a necessidade de um novo controlador RAID. (E / ou um chassi maior, possivelmente.)

  • Dois SSDs de ~ 120 GB (PCI-express ou SATA) no software RAID 1 para dados / log TempDB e no arquivo de log do banco de dados. Na verdade, essa pode ser a solução mais rápida, período e pode custar consideravelmente menos que 2 unidades de 15k de classe empresarial (sem falar em um controlador RAID comparável). Isso pressupõe que haja slots / portas disponíveis na placa-mãe, o que provavelmente existe.

Se o gerenciamento não seguir o orçamento (essa situação cheira a hardware antigo sendo adaptado para um novo projeto ... o que significa que o orçamento é zero), você precisará usar o RAID 5 por motivos de espaço, porque não há maneira de evitá-lo sem mais discos disponíveis. Nesse ponto, a melhor jogada é provavelmente colocar os 2 discos mais lentos no RAID 1 apenas para O / S, e o restante no RAID 5 para maximizar o espaço. Se você for forçado a usar o RAID 5 para qualquer parte disso, o gerenciamento deve assinar (por escrito) o entendimento do que isso significa em termos de desempenho.

Jon Seigel
fonte
Obrigado. Este é o servidor de um cliente, para que ele tome a decisão final, mas aceitamos que grandes faixas redundantes rápidas sejam as melhores que devemos buscar. Nossos próprios servidores usam grandes faixas SSD.
perfil completo de Ana