1

問題

私は、書き込みを追加して非同期にデータオブジェクトの読み取りをサポートする必要があるアプリケーションを開発しています。いわば緩衝材。常に多くのデータ オブジェクトが存在します。

私は利用可能な分散ファイル システムを調査して、書き込み中のファイルの読み取りをサポートするシステムを見つけましたが、検索しても何も見つかりませんでした。経験上、Amazon S3 がこれをサポートしていないことはわかっていますが、HadoopDFS などの他のものについては不明です。

解決策:チャンキング?

解決策としてデータをチャンク化することを考えました。これには、着信書き込みを n バイトのチャンクに分割して、DFS 全体に書き込むことが含まれます。不要になったチャンクは、DFS 上の個別のファイルであるため、書き込まれる新しいデータに干渉することなく削除できます。

この戦略の問題点は、バッファ ライターがデータを作成するよりも速くバッファ リーダーがデータを消費すると、一時停止が発生することです。チャンクを小さくすると、この影響は軽減されますが、完全ではありません。

まとめられた質問

  • オブジェクトのバッファとしての読み書きをサポートする DFS は存在しますか?
  • そうでない場合、DFS でデータをチャンク化することは、バッファーをシミュレートするための最良の方法ですか?
4

1 に答える 1

0

Lustre (lustre.org) は、O_APPEND 書き込みを含む、コヒーレントな読み取りと書き込みの同時実行をサポートしています。並行性は、Lustre 分散ロック マネージャー (LDLM) によって制御されます。LDLM は、クライアントにエクステント ロックを付与し、競合時にロックを取り消します。同じファイルに対する複数のリーダーと複数の同時ライターがサポートされており、ローカル ファイル システムの場合と同様に、一貫したファイル データが表示されます。

于 2013-01-30T20:09:12.870 に答える