Unter der Annahme eines konstanten Speichers (32 GB) und einer CPU (4), 2 x Festplatten-Arrays, habe ich die folgenden Festplatten
- 2 x 150 (10k)
- 6 x 150 (15 k)
Sie sind alle lokale Festplatten.
Meine Anforderungen
- Meine Datenbank ist 350 GB groß und standardmäßig auf 10% Wachstum eingestellt
- Mein Betriebssystem und SQL Server sind Server 2k8R2 (C: Laufwerk Betriebssystem + Seite + Anwendungen = 55 GB)
- Die Protokollanforderungen betragen ca. 70 GB und sind standardmäßig auf 10% Wachstum eingestellt. Sie werden routinemäßig abgeschnitten
- Meine TempDb ist derzeit ungefähr 12 GB groß und auf ein Standardwachstum von 10% eingestellt
Mein Problem ist, dass ich versuche zu verstehen, wo die TempDB und das Betriebssystem sowie das Protokoll am besten abgelegt werden können. Meine Erfahrung ist in der optimalen Konfiguration dieser beiden begrenzt
Dies ist kein Online-Transaktionssystem. Es hat viel Datenschreiben (neue Daten + Indizes neu erstellen / neu organisieren), dann viel Daten lesen (ich schätze auf ungefähr 50/50) für ungefähr 13 Stunden und dann nur noch leise.
Meines Wissens nach wird die TEMPDB während der normalen Verarbeitung im Vergleich zum Protokoll häufig verwendet.
Meine Idee ist die folgende
- 2 x 150 g (15 k) Schlachtzug 1 = 150 g für OS + TempDB
- 2 x 150 g (10 k) Raid 1 = 150 g für LOG (langsamere Festplatten hier beachten)
- 4 x 150 g (15 k) Raid 5 = 150 g für Daten
Klingt das nach einer guten Idee? Ich könnte dann die Log + TempDB bei Bedarf tauschen.
Verstoße ich gegen Grundregeln, z. B. TempDB aufgrund von Paging-Bedenken niemals auf die Betriebssystemfestplatte zu legen , oder lege ich das Protokoll möglicherweise nie auf eine langsamere Festplatte als Daten ?
Bearbeiten:
Wir haben auch ein SSAS im System und die Endbenutzer greifen nur auf den Cube zu. Die oben angegebenen 50% basieren auf der Zeit, die für die Verarbeitung der SSAS-Datenbank benötigt wird.