kikumotoのメモ帳

インフラ・ミドル周りを中心に、興味をもったことを適当な感じで。twitter : @takakiku

分散ファイルシステムを調べたい - CloudStore

CloudStore について調べてみた。使ってみたわけではない。

Kosmos filesystem から名前が変わったみたい。でも、まだドキュメントは Kosmos filesystem のままみたいだけど。

1. ファイルを分割して保存するかどうか

分割保存する。

2. サーバーやディスクが落ちても問題なくアクセスを受け付けられるか

受け付けられる。

3. サーバーやディスクが落ちたときにデータが失われないか

失われない。複製してくれる。ファイル単位で複製数を設定できる。

4. サーバーやディスクが落ちたとき、もしくはそれらが復帰したときに自動的にデータが修復されるか

サーバが落ちると複製数を満たすように自動修復する。またデータが壊れていたら自動修復する。

5. データ量の偏りがないように自動的にデータを再配置することができるか

できる。

6. メタデータサーバの冗長化機能はあるか

ない。ログとチェックポイントファイルをバックアップする必要あり。

7. 読み込みの負荷分散

ファイルが分割されているという観点で負荷分散している。また複製のどれかから読み込むので、複製の一つに集中することもない感じ。

8. 書き込みの負荷分散

ファイルを分割して保存するとい観点で負荷分散している。

9. 動的なサイズの拡張

できる。

10. 動的なサイズの縮小

たぶんOK。サーバが落ちれば、残ったサーバ群で自動修復するみたいだから、離脱したノードの分だけ単純にクラスタ全体のサイズは減るのだと思う。

11. 実装形態(言語とか、カーネルパッチの必要性とか、利用する側の言語とか)

C++カーネルパッチ不要。クライアントは、C++, Java, Python

12. mount できるか

FUSE を利用して可能。

13. random access 可能か

in KFS you can write to a file as many times as you want and write anywhere in the file (i.e., seek and write) and append to an existing file.

Advantages of Kosmix's KFS vs. HDFS

とあるので、可能みたい。

14. 実績はどんなものか

まだない。Alpha 版だからか。

15. ライセンス

Apache License V2.0


メタデータサーバの可用性を確保する必要があるけれど、安定版が出たら試してみる。