データベース管理システムは、データベースログを通じて独自のジャーナリングを実装するため、ジャーナリングされたファイルシステムにそのようなDBMSをインストールすると、2つのメカニズムによりパフォーマンスが低下します。
冗長ジャーナリングにより、ディスクアクティビティの量が増加します
物理ディスクレイアウトは断片化できます(ただし、一部のジャーナリングファイルシステムにはこれをクリーンアップするメカニズムがあります)。
大量のディスクアクティビティによりジャーナルがいっぱいになり、偽の「ディスクフル」状態が発生する可能性があります。
数年前に、HP / UXボックス上のBaanインストールのLFSファイルシステムでこれが行われたインスタンスを見てきました。システムには永続的なパフォーマンスとデータ破損の問題があり、ファイルシステムがLFSでフォーマットされていると誰かが判断するまで診断されませんでした。
データベースファイルを保持するボリュームには、通常、少数の大きなファイルがあります。通常、DBMSサーバーには、1つのI / Oで読み取るブロック数を構成する設定があります。冗長なデータのキャッシュを最小限に抑えるため、大容量のトランザクション処理システムには小さい数値が適しています。データウェアハウスなど、大量の連続読み取りを行うシステムには、より大きな数値が適しています。可能であれば、ファイルシステムの割り当てブロックサイズを、DBMSが設定されているマルチブロック読み取りと同じサイズに調整します。
一部のデータベース管理システムは、未加工のディスクパーティションを処理できます。これにより、さまざまな程度のパフォーマンスの向上が得られますが、通常、大量のメモリを搭載した最新のシステムではそれほど向上しません。ファイルシステムメタデータをキャッシュするスペースが少ない古いシステムでは、ディスクI / Oの節約が非常に重要でした。rawパーティションはシステムの管理を難しくしますが、利用可能な最高のパフォーマンスを提供します。
RAID-5ボリュームは、RAID-10ボリュームよりも書き込みオーバーヘッドが大きくなるため、書き込みトラフィックの多いビジーなデータベースのパフォーマンスは、RAID-10のほうが優れています(多くの場合、はるかに優れています)。ログは、物理的に別個のディスクボリュームをデータに配置する必要があります。データベースが大きく、ほとんどが読み取り専用の場合(データウェアハウスなど)、ロードプロセスが過度に遅くならない場合、RAID-5ボリュームに配置することがあります。
コントローラーのライトバックキャッシュは、データが破損する可能性のあるいくつかの(合理的ではないが可能性のある)障害モードを作成することを犠牲にして、パフォーマンスを向上させることができます。これに対する最大のパフォーマンスの向上は、非常にランダムなアクセスロードです。これを行う場合は、ログを別のコントローラーに配置し、ログボリュームのライトバックキャッシュを無効にすることを検討してください。これにより、ログのデータの整合性が向上し、1つの障害でログとデータボリュームの両方を取り出すことができなくなります。これにより、バックアップから復元し、ログからロールフォワードできます。