楽天は24日、自社開発によるRuby実装の分散キー・バリュー型データストア「ROMA」をオープンソースで公開した。
ROMAは、Rubyで実装された分散キー・バリュー型データストアで、2007年にRuby開発者のまつもとゆきひろ氏が楽天技術研究所フェローに就任して以来、Rubyによる大規模システムの実現例として開発されてきた。
特徴としては、データを複数のノードに分散して格納でき、ノードを増減させることで動的なスケールアウトを可能にしており、障害耐性が高い。また、利用者のメリットとしては、memcached互換のデータ型を提供するほか、getやset以外のコマンドやストレージ定義を独自にプラグインとして追加可能。プラグインはRuby言語で自由に記述できるため、拡張性が高い。
楽天では現在、「楽天市場」と「楽天トラベル」のユーザー閲覧履歴をROMAに保存しており、1日に1億件のデータが書き込まれている。リスト処理のためのlistコマンドと、ストレージとしてTokyo Cabinetを利用するプラグインが追加されているという。
【関連リンク】
・ROMA
この記事は参考になりましたか?
- この記事の著者
-
CodeZine編集部(コードジンヘンシュウブ)
CodeZineは、株式会社翔泳社が運営するソフトウェア開発者向けのWebメディアです。「デベロッパーの成長と課題解決に貢献するメディア」をコンセプトに、現場で役立つ最新情報を日々お届けします。
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です