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.

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.


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.


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
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.