samet22
Goto Top

RAID 5 VS RAID 10 für den Datenbank Server (MSSQL)?

Hallo,

ich hätte eine Frage da mich das Thema etwas verwirrt hat. Vielleicht könnte mir jemand mit Erfahrung die Frage schnell beantworten.

Es geht darum dass ich in einem Monat einen neuen Server bekomme und unsere Haupt-Anwendungen (ERP, Produktionstool und Statistik) natürlich im Hintergrund auf einer MSSQL Datenbank liegen. Mein Ziel ist es klar, dass diese Anwendungen ohne "Spürbaren-Wartezeiten" für den Anwender zum benutzen gehen.

Kurz zu den Details bevor ich die Fragen stelle:

- Es arbeiten in Summe 70 Mitarbeiter mit der Software (ERP, Produktionstool und Statistik) - Somit können natürlich 70 gleiche Zugriffe auch möglich sein. (READ und WRITE Operationen ausbalanziert)

Mein jetziger Server hat:
-8 mal SAS HDD mit 10K RPM auf RAID 10 mit 300GB pro Festplatte
- DDR 3

Mein neuer Server wird haben:
- 5 mal SAS SSD (MX), überlegt habe ich mir hier RAID 5 mit 3TB pro Festplatte
- DDR 4

Meine Fragen: Da ein RAID 10 für die SAS SSD mir etwas zu teuer kommt würde ich gerne ein RAID 5 bevorzugen.

1.) Was für einen spürbaren Leistungsunterschied habe ich zwischen RAID 5 und RAID 10 im Datenbank bereich? vor allem was das Schreiben angeht? (Wir speichern keine Bilder oder Dateien in die Datenbanken, es ist nur Text. Habe gelesen, dass RAID 5 im SSD bereich gegenüber RAID 10 um 2-3 mal langsamer beim schreiben ist, ist dies jedoch spürbar? oder bedeutet dies nur RAID 10 braucht 0,003 Sekunden und RAID 5 nur 0,009 (Somit zwar dreimal langsamer aber nicht spürbar)

2.) Die sieht es mit den Transaktionlogs aus? Habe gelesen, dass bei einem RAID 5 SSD das schreiben der Transaktion-Logs manchmal langsamer sein können wie bei einem RAID 10 mit 15k RPM HDD? Kann das so stimmen?

3.)Ich weiß, dass bei einem SELECT statement auf den Arbeitsspeicher zugegriffen wird (Ausnahme wenn keine Indexierung vorhanden ist und ein RANDOM-READ stattfindet). Wie sieht es aber mit dem schreiben aus, (auch wenn es nur text ist) unsere Datenbank bekommt am Tag ca. 500.000 neue Einträge (in Summe) es wird doch wohl auch bei einem RAID5 mit SAS SSD die Performance um das vielfache besser sein oder (so dass die Software um ein vielfaches halt flüssiger und schneller funktioniert)?

Danke!

lg Samet

Content-ID: 551256

Url: https://administrator.de/contentid/551256

Ausgedruckt am: 21.11.2024 um 23:11 Uhr

Cloudrakete
Cloudrakete 24.02.2020 um 09:45:34 Uhr
Goto Top
Ich bin in dem Bereich kein Profi, allerdings ist ein RAID10 immer schneller als ein RAID5.
Vorallem wenn es un Restores geht merkst du es so richtig, da das Paritäten zurückrechnen die CPU als auch die betroffenen Platten ordentlich in die Mangel nimmt.
Laut Gerüchten im Internet grillt man angeblich gerne durch RAID5 Restores die eine oder andere Platte.

Hab ich bisher nie mitgemacht, hatten immer RAID10.
Im Volksmund sagt man ja zu RAID5 auch „arme Leute RAID“
sabines
sabines 24.02.2020 aktualisiert um 09:57:38 Uhr
Goto Top
Moin,

für das Thema SQL Performance sind nicht nur die HDDs verantwortlich, hier spielen eine ganze Reihe von Faktoren eine Rolle.
Du musst hier zusätzlich mindestens die CPU, den RAM, Trennung Log und DB-Dateien etc. betrachten und die gaaaanz vielen kleinen anderen Hinweise durcharbeiten.

Gruss
SlainteMhath
SlainteMhath 24.02.2020 um 11:36:24 Uhr
Goto Top
Moin,

also generell macht man mit SSD kein RAID 5 mehr, da die Parity-Blocks die SSDs zusätzlich beanspruchen und damit schneller altern lassen. Wenn du mit dem Platz hinkommst, könntest du 4 SSDs im RAID 10 laufen lassen und 1 als Hot Spare verwenden bzw eine 6te SSD hinzunehmen und RAID 10 für DB und RAID 1 für Logs. Wovon bootet denn der Server?

lg,
Slainte
samet22
samet22 24.02.2020 um 11:42:31 Uhr
Goto Top
Hallo Slainte,

Danke für deine Antwort. Geht es hier nur um die Beanspruchung oder ist auch ein spürbarer Leistungsunterschied vorhanden? Vor allem was Datenbanken betrifft?

lg
maxblank
maxblank 24.02.2020 um 12:05:41 Uhr
Goto Top
Hallo,

wenn die IOPS deiner Datenbank bzw. deiner Anwendungen so hoch sind, dass sie das RAID5 nicht liefern kann und es ansonsten keine Bottlenecks gibt, dann brauchst du das RAID10.
Und ja, dann merkst du und jeder der Anwender den Unterschied.

Grüße
Maxblank
SlainteMhath
SlainteMhath 24.02.2020 um 12:32:17 Uhr
Goto Top
Manchmal frag' ich mich ob das Google von den Leute kaputt ist...

2 Sekunden fördern das hier zu Tage: https://www.thomas-krenn.com/de/wiki/SSD_RAID_Performance-Tests
it-fraggle
it-fraggle 24.02.2020 um 13:28:25 Uhr
Goto Top
Es geht darum dass ich in einem Monat einen neuen Server bekomme und unsere Haupt-Anwendungen (ERP, Produktionstool und Statistik) natürlich im Hintergrund auf einer MSSQL Datenbank liegen.
Okay, also MSSQL.

Mein Ziel ist es klar, dass diese Anwendungen ohne "Spürbaren-Wartezeiten" für den Anwender zum benutzen gehen.
Das heißt, dass du aktuell spürbare Wartezeiten hast?

Es arbeiten in Summe 70 Mitarbeiter mit der Software (ERP, Produktionstool und Statistik) - Somit können natürlich 70 gleiche Zugriffe auch möglich sein.
Bei drei Plätzen ist die Chance sicherlich nahezu 100 %, dass alle drei am Platz sind und damit arbeiten. Bei 70 Leuten bezweifle ich das aber. Okay, gut... Gehen wir mal davon aus.

Mein jetziger Server hat:
-8 mal SAS HDD mit 10K RPM auf RAID 10 mit 300GB pro Festplatte
- DDR 3
Okay...
Mein neuer Server wird haben:
- 5 mal SAS SSD (MX), überlegt habe ich mir hier RAID 5 mit 3TB pro Festplatte
- DDR 4
Aha... Und wie viel Arbeitsspeicher bekommt das Gerät? Was für SSDs sind das? Wie viele IOPS?
Wieso ist ein RAID5 für dich das RAID der Wahl? Welchen Vorteil versprichst du dir davon? Wie groß ist die Datenbank denn aktuell?
SlainteMhath
SlainteMhath 24.02.2020 aktualisiert um 15:16:44 Uhr
Goto Top
Nachtrag:

am Tag ca. 500.000 neue Einträge
Meinst du damit 500.000 Records pro Tag? Das sind bei 8 Arbeitstutnden ca. 17 Records pro Sekunde - das schafft jeder Laptop mit m2 SSD :P

und nochmal die unbeantwortete Frage aus meinem letzten Post: Von was bootet die kiste bzw wo liegt das OS?
samet22
samet22 24.02.2020 aktualisiert um 15:46:18 Uhr
Goto Top
Hallo Slainte,


Zitat von @SlainteMhath:

Nachtrag:

am Tag ca. 500.000 neue Einträge
Meinst du damit 500.000 Records pro Tag? Das sind bei 8 Arbeitstutnden ca. 17 Records pro Sekunde - das schafft jeder Laptop mit m2 SSD :P

und nochmal die unbeantwortete Frage aus meinem letzten Post: Von was bootet die kiste bzw wo liegt das OS?

natürlich ist alles nicht auf Sekunden verteilt hehe face-smileface-smileface-smile Aber 500.000 Records ist ein ca. wert (variiert zwischen 400.000 bis 750.000 pro Tag). In Summe haben wir 1.7TB Daten (auf drei Anwendungen verteilt) am SQL Server - Die größte Datenbank hat 850GB.

Meine Überlegung war den Server wie folgt aufzubauen:
  • RAID 1 240GB SSD für HYPER-V Installation (HOST)
  • Überlegung: RAID 5 mit 5 mal SAS SSD (12GB) jeweils 3.2TB (MSSQL-Server, Applikation Server, Tomcat Server ... )
  • RAID 5 mit 4 SATA SSD (6GB) jeweils 3 TB (File-Server, Print-Server, Email,...)

ja NOCH ist der Server überdimensioniert, jedoch soll dieser für die nächsten 6 Jahre seine Arbeit sehr gut leisten können.

Das Betriebssystem (VM) wird ebenfalls am RAID 5 mit SAS SSD 12GB liegen

In Summe werden auf den SAS SSD Festplatten 7 VM's und auf den SATA SSD's 10 VM's laufen.

Was mich sehr verwirrt ist dass in anderen foren folgende aussagen getroffen werden:

-RAID 5 mit SSD ist kein Problem mehr und der Performance unterschied zu RADI 10 ist für den "Enduser" einfach nicht zu spüren.
-RAID 5 Performance mit SSD's ist im SQL bereich schon zu spüren je nachdem ob man Write Back oder Write Through auswählt.

RAID 10 ist natürlich schön und gut aber so eine SAS SSD 3.2 TB ist auch unendlich teuer.

Danke!

lg Samet
clSchak
Lösung clSchak 24.02.2020 aktualisiert um 16:12:35 Uhr
Goto Top
Hi

für das reine DB Flat-File kannst du Raid 5 nehmen, besser Raid 6 (alternative sind Spare Platten), da wo die Logs liegen 10 und wo die TempDB liegt idealweise PCIe m2 Raid 10.

Und die 750k Records pro Tag ... niedlich face-wink wir machen das in unter einer Stunde. Bei der Anforderung kannst du, meiner Meinung nach, alles auf Raid5 laufen lassen, das wirst du bei der geringer IO Last nicht merken ob da ein Raid 5 oder Raid 10 drunter ist. Viel wichtiger beim SQL Server ist RAM, habe ich schon RAM gesagt? Oh ja RAM ist wichtig, erst wenn das meiste direkt ausm RAM beantwortet wird ist der SQL Server "richtig" schnell, wenn der bei jeder 2. Abfrage von der Festplatte lesen muss geht die Performance in den Keller.

Wir haben mit 512GB RAM ein Cache-Hit Rate von 99,5%, lediglich die TempDB und Log HDDs arbeiten permanent, ich kenne eure ERP jetzt nicht, wenn es aber "zufällig" Dynamics NAV ist, braucht das Array mit der TempDB die meiste Leistung.

Und SSD's müssen nicht teuer sein, konfiguriere dir den mal bei ThomasKrenn statt bei Dell oder HP, bei den SSD Preisen sind Welten dazwischen.

Ich bin nicht der SQL Spezi, aber 90% der Performance-Engpässe kommt durch ranzige SQL Abfragen oder schlecht gesetzte Indizes und nicht aufgrund mangelnder Hardware.

Wenn der Controller meint seine eigenen SQL Scripts für seine BI abzufeuern wo jeder FiAE im 1ten Lehrjahr die Hände über Kopf zusammenschlägt ... ja es gibt solche Unternehmen die das zulassen - kann es richtig langsam werden :D

Gruß
@clSchak