guettli@thomas-guettler.de (Thomas Guettler) writes:
was macht man, wenn das RAID der Falschenhals eines Systems ist?
Der Server hat einen 3ware Hardwareraid Controller mit 4 SATA Festplatten als RAID 10. Aufgrund des Platzmangels wÃŒrde ich gerne erstmal nicht mehr Festplatten einbauen.
Von Datenbanken habe ich kaum Ahnung, aber mit RAID habe ich schon mal was zu tun gehabt. Insofern ist folgendes etwas einseitig.
Ich bevorzuge Linux' SoftRAID (md). Aus Performancesicht gibt es meiner Erfahrung nach keinen Grund für Hardware-RAID bzw. "professionelle Storage-Lösungen". (Man kann über Zuverlässigkeit/Verfügbarkeit debattieren, aber das dauert lange und führt zu nichts.)
Gerade bei RAID 0 und 1 (und Kombinationen davon) reicht ein RAID-Kontroller nur die Daten durch. Das kann ein Linux-Rechner auch selber.
Ich kenne mich mit IDE-RAID-Kontrollern nicht aus, insofern weiß ich nicht, was die alles bremsen können. Hinsichtlich Schreib-Performance gab es bei 3ware bessere und schlechtere, aber Lesen können sie wohl alle. (Da ich an seriellem bisher nur mit SAS zu tun hatte, würde ich vielleicht sogar testen, die vier Platten an einen SAS-Kontroller anzuschließen. Da weiß ich wenigstens, daß die Kontroller gehen; aber SATA habe ich da noch nie direkt angeschlossen.)
Übrigens verteilt md die Lesezugriffe nicht (oder unzureichend) auf die Mirrors. Fürs Lesen nutzt du also praktisch nur zwei Platten. Hättest du ein RAID 5, würde durchschnittlich von drei Platten gelesen. Solange man nichts sehr schreibintensives tut, gibt es meines Wissens keinen guten Grund für RAID10.
Bringen Festplatten mit NCQ (native command queuing) merkbaren Performancegewinn?
Naja, ich weiß nicht... SCSI- bzw. SAS-Platten wären wahrscheinlich nützlicher. Ich habe schon mal gehört, daß im Datenbank-Umfeld Platten mit geringer Latenz schick sind. Also 15000 U/min; und die gibt es nicht als SATA.
Wenn Latenz (Seeks) wichtig ist, könntest du da viel Geld draufwerfen. Andererseits wäre mehr RAM sicher preiswerter. Die Frage ist eben, ob die Abfragen eine gewisse Lokalität haben, so daß es häufigere benötigte Dinge gibt, die gecacht werden können. Wenn alles gleich häufig genutzt wird (also z.B. jede Abfrage einmal die ganze Platte liest) und das deutlich größer als bezahlbarer RAM ist, nützt RAM eben nichts.
Sven