楽天技術研究所の代表である森正弥氏とRuby開発者まつもとゆきひろ氏インタビュー前編では、楽天でのRuby導入とROMAおよびfairy開発プロジェクトの始動について紹介した。今回の中編では、6月21日のRuby会議の講演でも発表される予定であるROMAとfairyの仕組みを中心として両氏のインタビューをお送りする。
Ruby会議で発表予定のROMAの特徴
―――Ruby会議で「デモ」を行なうという話を聞きました。
森:おっと(笑)
まつもと:一応、Ruby会議では「このようなことをやっています」ということを話すつもりです。でも、正直言ってみなさんの前で見せるようなものはあまりないですよ。
森:私たちが作っているのは、例えば画像処理技術のようにビジュアルがはっきりあるものではなくて、目に見えないものです。それなので、Ruby会議ではプレゼンテーションでコンセプトを説明することにしました。ROMAはコンピュータが環状につながっているイメージを、ローマのコロッセウムになぞらえて見せていく予定です。ROMAはデータを分散して持つのが特徴で、データを格納しているサーバの両隣のサーバも同じデータを持っています。
そうすることで、1台のサーバが故障してもデータはなくならないし、ユーザはデータがどのサーバに入っているのかを気にしなくてもいいのです。さらに「ホットスケール」といって、サーバを簡単に追加できる仕組みにもなっています。また、クラッシュしたサーバがあれば、そのサーバを切り離して、残ったサーバで円を作り直す「フェイルオーバー」もありす。
データはメモリ上にありますが、「永続化」といって、定期的にハードディスク側にも同じデータを書いておきます。そうすることでクラッシュしても、ファイルからデータを復旧が可能です。現在は、フェイルオーバーと永続化の部分を開発しているところで、まだいろいろな問題がありますね。
まつもと:サーバが壊れるとしても、どのタイミングで壊れるのかは事前に予測できないもの。ですからいろいろなタイミングでわざとサーバを落としたりして、テストをしているところです。
―――現在ROMAの開発はどの段階に来ていると言えますか?
森:ROMAの基本的な設計は終了していて、プロトタイプもできています。現在の設計に基づいて実装を進めている段階です。特に永続化が難しくて……。永続化を強化していくと、今度はパフォーマンスが落ちてしまいます。データをコピーして持っているという特徴は、同じデータが複数のサーバ上にあるということ。しかも、それぞれのサーバがクラッシュするタイミングは違うこともあり得ます。そうしたことから、永続化を使って全体を復旧する処理というのは、設定や実装が複雑になるのです。
まつもと:ROMAはデモも動いていますよ。しかしキャラクタ(コード)でログが表示されるだけ。私たちはそれを見てROMAが動いていることが分かるのですが……。ほかの人は何が何だか分からないでしょうね(笑)。
この連載の記事
-
第68回
ビジネス
『オバマ現象のからくり』(田中慎一) -
第67回
ビジネス
AMN新社長“ブロガー”徳力氏に聞く -
第66回
ビジネス
「完璧な上司なんて、いませんよ」 -
第65回
ビジネス
フランソワ・デュボワ 『デュボワ思考法』 -
第62回
ビジネス
こんなに差が出た! 30代給料の現実 -
第59回
ビジネス
地下巨大施設! プロジェクトは成功した -
第56回
ビジネス
エンジニアの秘められた家族生活 -
第55回
ビジネス
IT業界で10年泥のように働いてませんよ -
第54回
ビジネス
カシオG'zOneのデザインが変わったワケ -
第52回
ビジネス
“変わり種商品”に隠れたビジネス戦略 -
第52回
ビジネス
日本の家電ベンチャー、異例の存在 - この連載の一覧へ