site navigation:

Borium - 分散ストレージ統合ライブラリ(?)
Description

現時点ではネットワークに分散したストレージを統合して1つに見せる仕組みです (製品紹介なので、何かかっこいい言い回しができると良かったですが・・・)。

当初、単なるストレージのスケールアウトの仕組みとしてスタートしましたが、 Helium だけでなく Hydrogen や Lithium 等、もう少し他の用途にも使用可能なことに気づきまして、 悩み始めたところです。

仕組みとしましては、リソースとアプリケーション(例えば Helium のような)との間に入る Wrapper として実装し、更にスケールアウトを可能とするため、 ローカルリソースの操作だけでなく、リモートリソースについても HTTP(Servlet) 越しに操作可能なものにしました。

HTTPを介したファイルシステムの操作につきましては、標準プロトコルである WebDAV では機能が限定されることから、Servlet を介した独自実装(これがいいのか悪いのか・・・)とし、 Servlet から 各コマンドに対応するクラスを java の reflection を用いて呼び出すようにして拡張性を確保しました。 これにより、クラウドの一つの機能である分散並列処理も可能になると思いますし、 よく考えてみれば WebDAV や Windows ファイル共有に対しての拡張も可能だと思います。

こいつが意外といろいろなものに使えそうな気がしてきました。 気が付いてみれば弊社の製品及びインフラの肝はこれになりそうです。 ここまで来たら、この先はファイルの実体に対するレプリケーションの機能を追加し、 耐障害性を高めて一旦出来上がりとなればと思っています。 何だか難しい名前の分散のアルゴリズムがあるようなので、そちらを調査しようと思ってます。
#こいつはしばらく時間がかかることでしょう。


Status: under prototyping

気になるレスポンスですが、ある程度の状態になったので、Helium の下の層として組み込んでみた結果、 『Atom 1.66GHz x 2、1GBメモリの NetBook の Windows XP で動作する vmware 上』という、とにかく遅い FreeBSD-8.0R で、何となくではありますが、Helium で我慢できる範囲内で処理しております。