MOONGIFT

オープンソース・フリーウェアを毎日紹介するブログ。日々の業務の効率化、新しいサービスのネタ探しにどうぞ。SNS、SBS、CMS、オフィス、画像編集、ユーティリティ、Firefoxアドオン、テキストエディタ、ゲーム…ジャンルは様々。

楽天製。Rubyベースの分散型キー/バリューDB「ROMA」

タグ: [] [] [] [] [] [] [] [] []

buzz_button

ROMAはRuby製のオープンソース・ソフトウェア。Webシステムで一般的に使われているRDBMSに対してここ一、二年で注目を集めているのがキー/バリュー型のデータベースシステムだ。シンプルに使えてスケールしやすく、大型のWebシステムでは導入が当たり前になりつつある。

ピクチャ 278.png

そんなキー/バリュー型データベースとして有名なのはmemcachedやMogileFSなどが知られている。そこに独自のデータベースを開発したのが楽天だ。Ruby開発者であるまつもと氏をフェローに迎えて開発されたのがROMAになる。もちろんRubyで開発されておりごく手軽に利用できる。

ROMAはRuby1.9を使って動作する。インストールは簡単にでき、複数のインスタンスを簡単に立ち上げられる。そしてクライアントからはmemcachedと同様に接続が可能で、telnetでも接続することが可能だ。P2Pをもとして分散システムに対応しているのでスケールしやすいのが特徴だ。

ピクチャ 276.png

格納されるデータは自動的に複製が行われるので耐障害性が強い。障害が発生したマシンを自動で発見し、切り離す機能もある。新しいマシンを追加するのも簡単だ。さらにプラグイン機能によってROMAの中に手を入れることもなく、機能を拡張することもできる。

サーバとクライアントはネットワーク接続なので疎結合だ。そのためROMAがRubyであることに大きな影響はなさそうだ。開発言語がRubyか否かによらず、様々な場面で導入が検討できるだろう。キャッシュはもちろん公開されても問題ないようなデータ、頻繁にアクセスの発生するデータなどRDBMSが得意としないような場面でどんどん活用できるはずだ。

# 2009年10月30日。誤字修正

 

roma-prj - Project Hosting on Google Code
 http://code.google.com/p/roma-prj/

October 29th, 2009 Posted by admin | 2 コメント

2 Comments »

  1. >サーバとクライアントはネットワーク接続なので祖結合だ。
    正しくは「疎結合」ですね

    Comment by n_kane | 2009/10/30 Friday

  2. ご指摘ありがとうございます!修正しました。

    Comment by admin | 2009/10/30 Friday

Leave a comment

MOONGIFTネットワーク。こちらもぜひご覧ください。
MOONGIFT
Open Service
Rails 2.0
Resident on Net
iPhone最適化
リーンソフトウェア
MarketPedia
Producing Web
Cool Coding