| 開発者 | スリラム・ラオ、マイケル・オブシアニコフ、クアンタキャスト |
|---|---|
| 安定版リリース | 2.2.6 / 2023年5月6日[1] |
| 書かれた | C++ |
| タイプ | 分散ファイルシステム |
| ライセンス | Apache ライセンス2.0 |
| Webサイト | github.com/quantcast/qfs |
Quantcast File System ( QFS ) は、大規模なMapReduceやその他のバッチ処理ワークロード向けのオープンソースの分散ファイル システムソフトウェア パッケージです。Apache Hadoop Distributed File System ( HDFS ) の代替として設計され、大規模な処理クラスターでより優れたパフォーマンスとコスト効率を実現することを目的としています。
デザイン
QFS は、数百または数千の汎用Linuxサーバーのクラスター上で実行され、他のソフトウェア レイヤーが 1 つの巨大なハード ドライブであるかのようにそれらのサーバーと対話できるようにするソフトウェアです。QFS には 3 つのコンポーネントがあります。
- チャンク サーバーは、データをホストする各マシン上で実行され、ハード ドライブへの I/O を管理し、そのアクティビティと容量を監視します。
- メタサーバーと呼ばれる中央プロセスは、ディレクトリ構造と物理ストレージへのファイルのマップを保持します。メタサーバーは、すべてのチャンク サーバーのアクティビティを調整し、ファイル システムの全体的な状態を監視します。高パフォーマンスを実現するために、すべてのデータをメモリに保持し、チェックポイントとトランザクション ログをディスクに書き込んで回復します。
- クライアント コンポーネントは、ファイル システムアプリケーション プログラミング インターフェイス(API) をソフトウェアの他のレイヤーに提供するインターフェイス ポイントです。メタサーバーに要求を送信して、どのチャンク サーバーがそのデータを保持しているか (または保持する予定か) を識別し、チャンク サーバーと直接対話して読み取りと書き込みを行います。
数百または数千のマシンのクラスターでは、すべてのマシンが常に稼働していてアクセスできる可能性は低いため、フォールト トレランスが設計上の中心的な課題となります。QFS は、リード ソロモン エラー訂正によってこの課題に対応します。QFS で使用されるリード ソロモン エンコーディングの形式は、冗長データを 9 か所に格納し、これらのストライプのうち任意の 6 つからファイルを再構築できます。[2]ファイルを書き込むと、デフォルトでは 9 台の物理的に異なるマシンにストライプ化されます。6 台にデータが格納され、3 台にパリティ情報が格納されます。これらのうち 3 台が使用できなくなってもかまいません。6 台のいずれかが読み取り可能であれば、QFS は元のデータを再構築できます。その結果、データが 50% 拡張されるというコストでフォールト トレランスが実現します。
QFS はプログラミング言語C++で記述されており、固定のメモリ フットプリント内で動作し、直接入出力 (I/O) を使用します。
歴史
QFSは、 2005年に Kosmixが開始したオープンソースプロジェクトであるKosmos File System(KFS)から発展しました。Quantcastは2007年にKFSを採用し、その後数年間にわたって独自の改良を加え、2012年9月にオープンソースプロジェクトとしてQFS 1.0をリリースしました。[3]
参考文献
- ^ リリース 2.2.6
- ^ 「QFS が Hadoop ファイル システムのパフォーマンスを向上 - Strata」。2012 年 11 月 19 日時点のオリジナルよりアーカイブ。2012年 12 月 6 日閲覧。
- ^ 「Quantcast が、より大きく、より高速で、より強力な Hadoop ファイル システムをリリース — Tech News and Analysis」。2012 年 12 月 3 日時点のオリジナルよりアーカイブ。2012 年 12 月 6 日閲覧。
外部リンク
- 公式サイト
