オルタナティブ・ブログ > Azureの鼓動 >

クラウド戦役をZガンダム視点でわかりやすく解説するブログ+時々書評。

名前がステキなcassandoraemonは実際スゴイと思う。Azureで任意のストレージが使えるといいな

»

まず、名前がステキ。カサン ドラエモン。(←スペースの位置が違うって)
Facebookが自社のスケーラブルな基盤を支える技術として開発し、その後Apacheの
オープンソースプロジェクトとして寄贈された cassandora 。古巣Oracle他のがんばりで
広く使われるようになったリレーショナルデータベースを一部置き換える可能性を秘めた
Key Value Store に注目が集まる中、日本人の開発者の方が cassandora をより便利に
使うためのツールcassandoraemon を、ベータ版としてマイクロソフトが支援している
オープンソース開発コミュニティサイトCodePlexで公開している。

Cassandoraemon01

cassandoraemon でできることを開発者の方のブログより引用。

    *  LINQクエリでCassandraデータの取得が可能
    * Cassandraへの、登録、削除操作もサポート
    * 使い易い拡張メソッドがたくさん
    * 変態的なConvertメソッドで、Cassandra ByteデータからObjectへ楽々変換
    * TimeUUIDサポート
    * Javaとの相互運用性を考慮して、Big Endian形式でデータ登録

そもそも cassandora って何だ?Key Value Storeって何だ?という方はコチラの
ThinkIT連載記事「クラウドの力を引き出す分散データベース」
が詳しくてオススメ。

この記事にもあるように、cassandora のようにスケールアウトする分散データベースは
同じくスケールアウトするプラットフォームであるクラウド上で使うと相乗効果が得られやすい。

GoogleのBig TableをKVSとするならば、Windows AzureにもStorage Servicesのなかに
似たような分散ストレージであるTableの仕掛けがあるので、基本的にはこれを利用する
ことになるのだが、(個人的な見解としては正直なところ)他のストレージの仕掛けが
使えても良いのではないかと思う。

Cassandoraemon02

Azureをご存知の方は Azure Storage のTABLEでいいじゃん!何が不満?という方も
いるかもしれないが、例えば試してみたところ書き込み性能があまりでないという場合に、
メモリキャッシュで逃げるという手もあるかもしれないが、他のストレージサービスを選択
できるようになっているとアーキテクチャや適用ユースケースの幅が広がると思われる。

※Azure Storage Tableについてはコチラのホワイトペーパー(PDF)を参照

PaaSベンダーの責任としてストレージのようにクラウドプラットフォームとして最低限必要な
標準サービスは提供しつつも、開発者の方々が好きなように拡張できる自由を提供できる
くらいの懐の深さがあった方が世の中の支持を得られるだろう。特に、このKVSのエリアは
ここ日本でもTokyo Cabinet や kumofs のような優れた仕組みが次々と出てきているため、
オープンソースコミュニティと連携で得られるものも多いはず。

マイクロソフトはOSSを敵視しているという昔の認識がまだぬぐえていないのは
残念なことだが、.NETの領域でも、少なくともAzureのような技術革新の早いエマージングな
領域では、OSSと連携してうまくやっていこうという機運がかつてないほどに高まっている
という事実をひとりでも多くの方にご理解いただきたい。

さて、今回開発者の方の許可を得ることなく勝手に紹介してしまったのだが、この手の
ツールを日本の開発者の方ががんばって進められていて、かつ、英語圏のCodePlexで
公開しているのは非常に素晴らしいことと思う。今はかげながら応援することくらい
しかできないが、cassandoraemon の今後の発展に期待したい。

Comment(0)