Datenbankverwaltungssysteme implementieren ihre eigenen Journale über die Datenbankprotokolle. Wenn Sie also ein solches DBMS auf einem Journaldateisystem installieren, wird die Leistung durch zwei Mechanismen beeinträchtigt:
Redundantes Journalling erhöht die Festplattenaktivität
Das Layout der physischen Festplatte kann fragmentiert sein (obwohl einige Journalling-Dateisysteme über Mechanismen zur Bereinigung verfügen).
Eine hohe Festplattenaktivität kann das Journal füllen und zu falschen Bedingungen führen, wenn die Festplatte voll ist.
Ich habe vor einigen Jahren einen Fall gesehen, in dem dies auf einem LFS-Dateisystem bei einer Baan-Installation auf einer HP / UX-Box durchgeführt wurde. Das System hatte anhaltende Leistungs- und Datenbeschädigungsprobleme, die nicht diagnostiziert wurden, bis jemand feststellte, dass die Dateisysteme mit LFS formatiert waren.
Volumes, die Datenbankdateien enthalten, weisen normalerweise eine geringe Anzahl großer Dateien auf. DBMS-Server verfügen normalerweise über eine Einstellung, die konfiguriert, wie viele Blöcke in einer einzelnen E / A gelesen werden. Kleinere Zahlen wären für hochvolumige Transaktionsverarbeitungssysteme geeignet, da sie das Zwischenspeichern redundanter Daten minimieren würden. Größere Zahlen wären für Systeme wie Data Warehouses geeignet, die viele sequentielle Lesevorgänge durchführen. Stellen Sie die Blockgröße für die Dateisystemzuordnung nach Möglichkeit so ein, dass sie der Größe des Multi-Block-Lesevorgangs entspricht, auf den das DBMS eingestellt ist.
Einige Datenbankverwaltungssysteme können Raw-Festplattenpartitionen bearbeiten. Dies führt zu unterschiedlichem Leistungszuwachs, was bei einem modernen System mit viel Speicher normalerweise weniger der Fall ist. Auf älteren Systemen mit weniger Speicherplatz zum Zwischenspeichern von Dateisystem-Metadaten waren die Einsparungen bei Festplatten-E / A erheblich. Raw-Partitionen erschweren die Verwaltung des Systems, bieten jedoch die bestmögliche Leistung.
RAID-5-Volumes verursachen einen höheren Schreibaufwand als RAID-10-Volumes, sodass eine ausgelastete Datenbank mit viel Schreibverkehr auf einem RAID-10 eine bessere Leistung (oftmals eine viel bessere Leistung) aufweist. Protokolle sollten physisch getrennten Datenträgern zu den Daten hinzugefügt werden. Wenn Ihre Datenbank groß und meistens schreibgeschützt ist (z. B. ein Data Warehouse), kann es vorkommen, dass Sie sie auf RAID-5-Volumes ablegen, wenn dies den Ladevorgang nicht übermäßig verlangsamt.
Durch das Write-Back-Caching auf einem Controller können Sie einen Leistungsgewinn erzielen, und zwar auf Kosten einiger (wahrscheinlich unwahrscheinlicher, aber möglicher) Fehlermodi, bei denen Daten beschädigt werden könnten. Der größte Leistungsgewinn hierfür ist bei stark zufälligen Zugriffslasten. Wenn Sie dies tun möchten, sollten Sie die Protokolle auf einem separaten Controller ablegen und das Write-Back-Caching auf den Protokolldatenträgern deaktivieren. Die Protokolle weisen dann eine bessere Datenintegrität auf, und ein einzelner Fehler kann nicht sowohl das Protokoll- als auch das Datenvolumen entfernen. Auf diese Weise können Sie aus einer Sicherung wiederherstellen und aus den Protokollen ein Rollforward durchführen.