ストライピング (ストライピング) とは | 意味や読み方など丁寧でわかりやすい用語解説
ストライピング (ストライピング) の読み方
日本語表記
ストライピング (ストライピング)
英語表記
Striping (ストライピング)
ストライピング (ストライピング) の意味や用語解説
ストライピングは、複数の物理ディスクドライブにデータを細かく分割して並行して書き込み、また読み出すことで、ストレージのデータ処理性能を向上させる技術である。この技術は、特にRAID(Redundant Array of Independent Disks)レベルの一つであるRAID 0の基盤となる考え方で、システムにおけるディスクI/O(Input/Output)のボトルネックを解消し、全体的なシステムの応答性を高めることを目的としている。 ストライピングの仕組みは、まず書き込むべきデータを一定の小さなブロックに分割することから始まる。このブロックは「ストライプ」または「ストライプユニット」と呼ばれる。分割されたストライプは、接続された複数の物理ディスクに、順番に、あるいは同時に並行して書き込まれる。たとえば、データAをストライプA1、A2、A3、A4に分割した場合、A1はディスク1へ、A2はディスク2へ、A3はディスク3へ、A4はディスク4へ、といった具合に分散して書き込まれる。読み出しの際も同様に、複数のディスクから同時にストライプを読み出すことで、データの転送速度を大幅に向上させることが可能となる。 この並行処理により、単一のディスクにデータアクセスが集中することによる待ち時間や処理速度の低下を防ぎ、複数のディスクの帯域幅を結合して利用できるため、実質的なデータ転送速度(スループット)を向上させる効果がある。特に、連続した大きなファイルを扱うシーケンシャルアクセスにおいて、この性能向上は顕著に現れる。複数のアームが同時に異なるディスクの異なる位置にアクセスできるため、ディスクの物理的な限界を超える速度でデータを処理できるようになる。 しかし、ストライピングには重大な欠点がある。それは、データに対する耐障害性が全くない点である。ストライピングでは、データは複数のディスクに分散して保存されるため、ストライピングを構成するディスクグループのうち、たった1つのディスクが故障しただけでも、データの一部が失われ、結果としてストライピングされたすべてのデータが読み書き不能になる。これは、全体を構成する一部が欠けると、全体としてのデータ整合性が保てなくなるためである。このため、ストライピングを単独で重要なデータを保管する目的で使用することは非常に危険であり、一般的には推奨されない。 この耐障害性の欠点を補うために、ストライピングは他のRAIDレベルと組み合わせて利用されることが多い。例えば、RAID 1+0(RAID 10)は、ストライピング(RAID 0)とミラーリング(RAID 1)を組み合わせた構成であり、高速なデータアクセス性能と同時に高い耐障害性を両立させる。まずデータをミラーリングで複製し、その複製されたディスクペアに対してストライピングを行う、あるいはストライピングされたディスクをミラーリングするという二段階のプロセスを経て、データは安全かつ高速に管理される。 ストライピングの具体的な実装方法としては、ソフトウェアRAIDとハードウェアRAIDがある。ソフトウェアRAIDは、オペレーティングシステムが提供する機能を利用してストライピング構成を実現するもので、追加のハードウェアコストがかからないというメリットがある反面、CPUの処理能力を消費するため、システムの全体的な性能に影響を与える可能性がある。一方、ハードウェアRAIDは、専用のRAIDコントローラカードをシステムに搭載してストライピングを管理する。これにより、CPUへの負荷を軽減し、より高いI/O性能と安定性を提供できることが多いが、コントローラカードの導入コストが発生する。 ストライピングの性能は、使用するディスクの台数だけでなく、「ストライプサイズ」(またはストライプユニットサイズ)の設定によっても大きく左右される。ストライプサイズとは、データを分割する際の最小単位の大きさを示すもので、通常はキロバイト単位で設定される。ストライプサイズが小さい場合、データはより細かく多くのディスクに分散されるため、並列性が高まり、多くの小さなファイルの読み書きやランダムアクセスにおいて性能が向上しやすい。しかし、あまりにも小さすぎると、ディスクコントローラが各ディスクにアクセスするためのオーバーヘッドが増加し、かえって性能が低下することもある。逆にストライプサイズが大きい場合、一度に1つのディスクに書き込まれるデータの量が相対的に多くなるため、大きなファイルのシーケンシャルアクセスにおいて高い性能を発揮しやすい。だが、ランダムアクセスにおいては、特定のディスクにアクセスが集中しやすくなり、並列性の恩恵を受けにくくなる可能性がある。したがって、ストライピングを導入する際には、システムが扱うデータの種類やアクセスパターンを考慮し、最適なストライプサイズを選択することが重要となる。 ストライピングは、その性能向上の特性から、動画編集、科学技術計算、大規模データベースのキャッシュ領域など、大量のデータアクセスが頻繁に発生し、かつ高速な処理が求められるが、データの損失が許容できる、または他のRAIDレベルとの組み合わせで耐障害性を確保できるような環境で有効に利用される。システム設計においては、性能、コスト、耐障害性のバランスを考慮した上で、ストライピングを含む適切なストレージ構成を選択することが求められるのである。