Comment dois-je configurer ces disques sur un serveur SQL pour une configuration BI?


8

En supposant une mémoire constante (32 Go) et un processeur (4), 2 baies de disques, j'ai les disques suivants

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

Ce sont tous des disques locaux.

Mes exigences

  • Ma base de données est de 350 Go et définie sur une croissance de 10% par défaut
  • Mon OS et SQL Server sont le serveur 2k8R2 (C: lecteur OS + page + applications = 55 Go)
  • Les exigences de journal sont d'environ 70 Go et définies sur une croissance par défaut de 10% et sont systématiquement tronquées
  • Mon TempDb est actuellement d'environ 12 Go et défini sur une croissance de 10% par défaut

Mon problème est que j'essaie de comprendre où placer au mieux TempDB et OS et le journal. Mon expérience est limitée dans la configuration optimale de ces deux

Ce n'est pas un système transactionnel en ligne. Il a un traitement d'écriture de données lourd (nouvelles données + index reconstruit / réorganisé) puis un traitement de lecture de données lourd (j'estime à environ 50/50) pendant environ 13 heures, puis juste silencieux.

Ma compréhension est que le TEMPDB est fortement utilisé pendant le traitement normal par rapport au journal.

Mon idée est la suivante

  • 2 x 150g (15k) Raid 1 = 150g pour OS + TempDB
  • 2 x 150g (10k) Raid 1 = 150g pour LOG (notez les disques plus lents ici)
  • 4 x 150g (15k) Raid 5 = 150g pour les données

Cela vous semble-t-il une bonne idée? Je pourrais alors échanger le Log + TempDB si nécessaire.

Suis-je en train de briser une règle cardinale comme ne jamais mettre TempDB sur le disque du système d'exploitation en raison de problèmes de pagination , ou peut-être ne jamais mettre le journal sur un disque plus lent que les données ?

Éditer:

Nous avons également un SSAS sur le système et les utilisateurs finaux accèdent uniquement au cube. La lecture de 50% ci-dessus est basée sur le temps nécessaire pour traiter la base de données SSAS.

Réponses:


7

2 * 10k RAID1 pour OS, 6 * 15k RAID10 pour tout le reste. Honnêtement, avec ce nombre de disques, 1 baie est le pari le plus sûr et généralement le plus rapide.

Si vous avez le temps de tester et que vous avez une charge de travail réelle, reproductible et mesurable, faites un test avec votre tempdb sur le lecteur du système d'exploitation (mise en garde: limitez la croissance du fichier tempdb pour vous assurer de ne pas répartir le système d'exploitation) . D'un autre côté, vous constaterez peut-être des améliorations modérées de la charge et de la maintenance de vos données avec le journal à la place, ce qui vaut donc un test ou deux si le temps le permet.


Y a-t-il quelque chose à avoir avec des tableaux supplémentaires? Le TempDB ne doit-il pas être dans un ensemble tableau / broche séparé? J'évalue le 50/50 car il est basé sur un traitement DW à 50% et un traitement SSAS à 50% (6 heures de lecture).
Preet Sangha

Je ne vois aucune mention d'un cube de services d'analyse dans votre question initiale. La base de données relationnelle et le cube sont-ils interrogés par les utilisateurs finaux ou uniquement par le cube?
Mark Storey-Smith

1
+1 J'aime votre recommandation. Il convient de noter que s'il met tempdb sur le lecteur du système d'exploitation, il limite définitivement la taille maximale des fichiers de base de données. Nous pouvons tous convenir que nous ne voulons pas que les fichiers de base de données malveillants remplissent ce lecteur particulier.
Thomas Stringer

1
@PreetSangha Belief n'est pas une excellente base pour planifier un déploiement de serveur ou de stockage. Vous devez investir du temps à rechercher et à comprendre pourquoi cela est approprié dans certains scénarios et pas dans d'autres. Séparer votre cube de la base de données relationnelle peut avoir des jambes ici, mais qui peut le dire sans le tester. Il n'y a pas de solution simple et rapide, une approche unique pour tous, l'approche JFDI à cela, je le crains.
Mark Storey-Smith, du

2
Si vous pouvez tester et mesurer les différents scénarios avec votre charge de travail, cela peut s'avérer parfait. Lorsque / si vous ne le pouvez pas, un grand pool de stockage aussi rapide que possible absorbera les grumeaux et les bosses mieux qu'un coup dans la division sombre. N'hésitez pas à entrer dans le chat si vous voulez faire rebondir des idées. Il y a plusieurs habitués avec plus d'expérience SSAS que moi qui pourraient avoir des suggestions pour déterminer comment / si vous devez séparer le cube de la base de données.
Mark Storey-Smith

3

Je suis d'accord avec Mark en ce que l' approche idéale est de mettre les deux disques plus lents en RAID 1 pour O / S uniquement, et le reste des disques en RAID 10 pour tout le reste. Ce serait idéal.

Sur la base des tailles que vous avez données, cependant, cela vous permet à peu près de commencer, avec très peu de marge d'erreur et aucune marge de croissance. Et en passant, si quelqu'un vous dit que les disques durs sont de 150 Go, ils peuvent en fait être plus petits que cela (146 Go?), Non formatés, ce qui signifie probablement que tout ne va pas tout de suite.

Malheureusement, la charge de travail implique des écritures lourdes, et pour cela, RAID 5 ... n'est pas votre ami.

Si vous pouvez vous débrouiller avec un peu de budget supplémentaire, il existe deux approches:

  • Deux autres disques 15k de la même taille. Selon ce que signifie «2 baies de disques»,> 8 disques au total peuvent signifier qu'un nouveau contrôleur RAID est nécessaire. (Et / ou un châssis plus grand, éventuellement.)

  • Deux ~ 120 Go SSD (PCI-express ou SATA) dans le logiciel RAID 1 pour les données / journaux TempDB et le fichier journal de la base de données. Cela peut en fait être la solution la plus rapide, et pourrait coûter considérablement moins de 2 disques 15k de classe entreprise (sans parler d'un contrôleur RAID comparable). Cela suppose qu'il existe des emplacements / ports disponibles sur la carte mère, ce qui est probablement le cas.

Si la gestion ne bouge pas sur le budget (cette situation sent que l'ancien matériel est réutilisé pour un nouveau projet ... ce qui signifie que le budget est nul), vous allez devoir utiliser RAID 5 pour des raisons d'espace, car il n'y a pas moyen de l'éviter sans plus de disques disponibles. À ce stade, la meilleure solution consiste probablement à placer les 2 disques plus lents dans RAID 1 pour O / S uniquement, et le reste dans RAID 5 pour maximiser l'espace. Si vous êtes obligé d'utiliser RAID 5 pour une partie de cela, la direction doit signer (par écrit) pour comprendre ce que cela signifie en termes de performances.


Je vous remercie. Il s'agit du serveur d'un client, il prendra donc la décision finale, mais nous acceptons que les grandes bandes redondantes rapides soient les meilleures que nous devrions viser. Nos propres serveurs utilisent de larges bandes SSD.
Preet Sangha
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.