web-dev-qa-db-ja.com

データファイルのRAID10とRAID5の比較

既存のアプリケーションの.mdfファイルをRAID10 LUNに切り替えることで得られる潜在的なパフォーマンスの改善と、それらが現在存在している既存のRAID5 LUNを比較しようとしています。トランザクションログはすでにRAID10 LUN上にあります。

したがって、問題は、データファイルをRAID10に移動すると、GUIでエンドユーザーにパフォーマンスの向上が見られるでしょうか。または、チェックポイントが発生して変更がデータファイルに書き込まれるときに、データファイルへの書き込みが速くなるだけでしょうか。エンドユーザーレベルでは改善は見られません。

5
Zero Subnet

ここで考慮すべきアクティビティには、読み取りと書き込みの2つのタイプがあります。

正しく指摘したように、MDF/NDF書き込みはチェックポイントプロセスを介して行われるため、ユーザーはトランザクション時間に影響を与えるべきではありません。

読み取りは、必要なデータがRAM(バッファキャッシュ内)にまだない場合に発生します。したがって、理想的には、ユーザーアクティビティが頻繁に影響を受けることはないはずです。しかし、そうである場合、データはRAID 10と5のどちらでも非常に高速にフェッチされました。RAID5の問題点は、読み取りではなく書き込みです。

しかし、ディスクを紛失した場合はどうなりますか?

RAID 10では、パフォーマンスの低下はありません。交換用ディスクが挿入されると、ミラーがその上にコピーされます。 RAID 5では、読み取りごとに計算を行う必要があります。そして、新しいディスクが来るとき、それはたくさんの読み取りとたくさんの書き込みをしなければなりません。

ただし、RAID 5の方が安価です。 1TBのディスクでは800GBのスペースが得られます(セットアップによって異なります)が、RAID 10では500GBしか得られません。ただし、ディスクアクティビティは少し高価です。

データファイル(ログではなく)をRAID 5に配置するのは "問題ありません"が、ディスクが十分に安価であれば、RAID 10の方が優れています。

6
Rob Farley

それは、バックグラウンドで使用しているストレージシステムによって多少異なります。ご覧のとおり、読み取りと書き込みIO操作は大きく異なります。

RAID 5で単一ブロック書き込みを実行するには、次のことを行う必要があります。

  • 更新ブロックを読み取ります。
  • パリティブロックを読み取ります。
  • 新しいブロックを書き込みます。
  • 新しいパリティブロックを書き込みます。

したがって、単一のランダム書き込みの場合、RAID 5は書き込みごとに4つの操作を必要とします。これは「書き込みペナルティ」と呼ばれます。

RAID10では、新しいブロックを2回書き込むだけでよいので、書き込みペナルティは2です。

ランダム書き込み操作の単純化したレベル-RAID5ははるかに悪いです。ただし、キャッシュを考慮に入れると、この図は変わります。書き込みIOは、弱い時間制約の下にあります-IOの総数が妥当な時間内に完了することができる限り、キャッシュを書き込むことができます。フルストライプを構築した場合、すべてを書き込むことができます一度に-パリティを計算するために読み戻す必要はありません。

これにより、4 + 1 RAID5の書き込みペナルティがわずか1.25になる可能性があります。つまり、持続的な順次書き込みIOの場合、RAID1 + 0よりbetterになります。これは、データベースが行っていることとまったく同じです。 (特にトランザクションログは基本的にこれとまったく同じです。データファイルはそうではない可能性があります。データを更新しているか追加しているかによって多少異なります)

読み取りIOの場合、少し異なる状況があります-読み取りIOは厳しい時間制約の下にあります-データがフェッチされるまで完了しません。ストレージコントローラーにはキャッシュとプリフェッチメカニズムがありますが、 ...まあ、とにかくあなたのDBはメモリにキャッシュしていると思います。

実際には、これは、読み取りIO(データベースの場合)は、その観点からは最悪のケースになりそうです-真のランダムIOをプリフェッチできないため、RAID 1 + 0はそこにはより有益です-ある特定の読み取りには2つの可能なソース(各サブミラー)があるためです。

障害モードに関しては、RAID 1 + 0はかなり単純です。 1つのドライブが故障した場合、それは単に他のサブミラーからのコピーです。 RAID-5の再構築には、基本的にRAIDグループ全体を読み取る必要があります。したがって、1つではなく4つのドライブ(4 + 1)になります。この間、anyの読み取りは再構築する必要があるため、パフォーマンスが大幅に低下します。4つのドライブすべてからの読み取りが必要です(ドライブはまた忙しい)。障害の頻度はエンタープライズクラスのドライブではthat高くありませんが、それでも時々発生します。

そして最後に-決して少なくとも-ドライブの価格と必要な数量です。データセンターのスペースは安価ではなく、エンタープライズクラスのドライブも同様です。 RAID 1 + 0は、ディスクの50%を「消費」します。 RAID-5のコストは20%です。 (私はおそらく5つを超えるディスクRAIDグループを推奨しません-大きいほど、障害の可能性が高くなり、再構築時間が長くなります)。

しかし、はい-RAIDタイプを比較するときは、キャッシュ要素を考慮する必要があります。単純化されたドライブ速度のアクセス時間は、効率的なキャッシュによって大幅に改善されるためです。すべてのコントローラーがキャッシングを行い、非常に高価なストレージアレイには大量のキャッシングがあります。したがって、SANアタッチしている場合、これはより関連性があるかもしれません。

SSDを検討する価値もあります。SSDは1ギガあたり高価ですが、IOPあたりのコストは高くなります。そして、回転するのが非常に難しいランダム読み取りプロファイルの場合、Rustを処理するには、ほぼ完璧です。ハイブリッドドライブまたは階層型ストレージオプションも、その要因である可能性があります。

3
Sobrique