グリッドファイルシステム
グリッドファイルシステムは、多数の小さなファイルストレージ領域を活用して信頼性と可用性を向上させることを目的としたコンピュータファイルシステムです。[ 1 ]
コンポーネント
ファイル システムには最大 3 つのコンポーネントが含まれます。
- ファイル テーブル (FAT テーブル、MFT など)
- ファイルデータ
- メタデータ(ユーザー権限など)
グリッド ファイル システムでも同様のニーズがあります。
- ファイルテーブル(または検索インデックス)
- ファイルデータ
- メタデータ
比較
ファイル システムは、単一のコンピュータが (完全に) 管理する単一のディスクとして表示されるように設計されているため、グリッド内の単一のディスクがグリッドに含まれるすべてのデータに対する要求を処理できる必要があるグリッド シナリオでは、多くの新しい課題が発生します。
特徴
ほとんどのファイルストレージは、高度なデータ保護(データ消失の防止)を実現するために、多層的な冗長性を利用しています。現在の冗長化手段には、レプリケーションとパリティチェックが含まれます。このような冗長性は、 RAIDアレイ(複数の物理ディスクがローカルコンピュータ上で単一のディスクとして認識される仕組みで、データのレプリケーションやディスクのパーティショニングが含まれる場合があります)によって実装できます。同様に、グリッドファイルシステムは、「グリッド」内の様々なディスクに、一定レベルの冗長性(論理ファイルレベルまたはブロックレベルのいずれか、場合によっては何らかのパリティチェックを含む)を提供します。
フレームワーク
まず第一に、ファイルテーブルメカニズムが必要です。さらに、ファイルテーブルには、グリッド内で(ターゲット/宛先)ファイルを見つけるためのメカニズムも必要です。次に、ファイルデータを操作するためのメカニズムが必要です。このメカニズムは、ファイルデータをリクエストに提供するための役割を果たします。
実装
BitTorrentテクノロジーは、グリッドファイルシステムと類似しています。つまり、トレントトラッカー(および検索エンジン)が「ファイルテーブル」、トレントアプリケーション(ファイルを転送する)が「ファイルデータ」コンポーネントとなります。ファイルテーブルノードは、 RSSフィードのようなメカニズムを利用して、新しいファイルがテーブルに追加されたことを通知し、レプリケーションなどのコンポーネントを起動することができます。
ファイル システムには、同様のテクノロジ (分散レプリケーション、分散データ要求/フルフィルメント) が組み込まれている場合があります。
このような両方のシステム (ファイル テーブルとファイル データ) が単一のエンティティとしてアドレス指定できる場合 (つまり、クラスター内の仮想ノードを使用する)、グリッド メンバーが担当する使用 (ファイル テーブルとファイルの検索、および/またはファイル データ) を決定するだけで、このようなシステムへの拡張を簡単に制御できます。
可用性
グリッド内でデータ複製 (クォータの割り当てなど) を自律的に管理する方法が存在すると仮定すると、損失や停止に関係なく、データの高可用性を構成できます。
課題
現在、最大の問題はデータ更新の分散にあります。トレントは最小限の階層構造しかサポートしていません(現在はトレントトラッカーのメタデータとして、またはUIと基本的なカテゴリとしてのみ実装されています)。複数のノードを同時に更新すると(アトミックトランザクションが必須であると仮定)、更新と追加時に遅延が発生し、通常は実現不可能なレベルに達します。さらに、グリッド(ネットワークベース)ファイルシステムは、ファイルシステム(通常は低レベルのリング0型操作)が複雑なTCP/IP実装を必要とするという点で、従来のTCP/IPパラダイムを覆し、グリッドファイルシステムの作成プロセスに抽象化レイヤーと複雑さをもたらします。
例
高可用性データの例には次のようなものがあります。
- ネットワーク負荷分散/ CARP – 着信要求を複数のコンピューターに分割します。通常は同一または 1 つの全体として構成されます。
- 共有ストレージクラスタリング/ SAN – 単一のディスク(1つまたは複数の物理ディスクが単一の論理ディスクとして機能する)が複数のコンピュータに提示され、受信リクエストを分割します。これは通常、ディスクアクセスよりも高いコンピューティングパワーが必要な場合に使用されます。
- データ複製/ミラーリング – 複数のコンピュータがデータの同期を試みる可能性があります(通常はポイントインタイムまたはスナップショットベース)。レポート作成(最新のスナップショットに基づく)やバックアップの目的でよく使用されます。
- データパーティショニング- 複数のコンピュータ間でデータを分割すること。データベースでは、データはテーブルに基づいて分割されることが多いです(特定のテーブルが特定のコンピュータ上に存在する、またはテーブルが特定の「ブレークポイント」で複数のコンピュータ間で分割される)。一般的なファイルは、カテゴリ(カテゴリベースのフォルダ)または場所(地理的に分離されている)に基づいて分割される傾向があります。
参照
- 分散コンピューティング
- エクストリームFS
- タホ-LAFS
- ボランティアコンピューティングプロジェクトのリスト
- 惑星間ファイルシステム
- グリッド指向ストレージ
- グリッドコンピューティング
- GNUネット
- グラスターFS
- 分散ハッシュテーブル
- 協調型ストレージクラウド
- クラスター化ファイルシステム
- セフFS
参考文献
- ^ Maad, Soha; Coghlan, Brian; Quigley, Geoff; Ryan, John; Kenny, Eamonn; o'Callaghan, David (2007). 「完全なグリッドファイルシステム機能の実現に向けて」Future Generation Computer Systems . 23 : 123–131 . doi : 10.1016/j.future.2006.06.006 .