楽天テクノロジーカンファレンス2007から

大規模分散処理向けの国産“ウェブOS”をRubyで開発中

2007年11月24日、「楽天テクノロジーカンファレンス2007」において、Ruby言語の開発者で楽天技術研究所フェローのまつもとゆきひろ氏は、開発中の大規模分散処理基盤「Roma」（ローマ）と「Fairy」（フェアリー）のコンセプトを語った。研究段階ではあるものの、米グーグルなど世界トップクラスのネット企業だけが持つ大規模分散処理技術に真っ向から挑戦する試みだ。

米グーグル、米ヤフー、米アマゾンなど世界トップクラスの大手ネット企業は、巨大なトラフィックに対処するため、大規模データセンターの信頼性、可用性、性能などを確保する大規模分散処理基盤の研究開発を進めている。最近では、こうした大規模分散処理基盤は“ウェブOS”と呼ばれることもあり、注目を集めている。つまり世界トップクラスのネット企業は“ウェブOS”を自社開発しているわけだが、楽天でも国産の“ウェブOS”が生まれつつある。

楽天テクノロジーカンファレンス2007で講演する、まつもとゆきひろ氏

楽天技術研究所は、楽天社内の研究開発組織として長期的な戦略に基づく研究開発を進めている。2007年6月には、Ruby言語の開発者であるまつもとゆきひろ氏をフェローとして迎えている。まつもと氏を迎えた楽天技術研究所がRuby言語を使って進めるプロジェクトが、RomaとFairyである。

楽天技術研究所が研究開発を進めるRomaとFairyは、サーバ機を1000台といった規模で設置し、大規模並列処理を行うことを想定した基盤技術であり、世界トップクラスのネット企業に基盤技術で挑戦する格好となる。現時点では研究段階であり、実システムに投入するまでには多くの課題があるものの、巨大データセンターを運用するネット企業である楽天がウェブOSの開発に着手したことは注目に値する。

Romaは分散ストレージ、Fairyは分散処理基盤

Romaは、メモリ上にデータを保持した多数のマシンを組み合わせることで、高速で信頼性が高いストレージを実現することを狙う。具体的には、巨大なオンメモリのハッシュ・テーブルをネットワーク上に分散した多数のサーバ上に構築する。P2P（peer-to-peer）ネットワークのルーティング技術として注目されている分散ハッシュ・テーブル（DHT)と似た動作モデルに基づくという。

まつもと氏は、Romaのコンセプトについて「CPUやネットワークに比べてハードディスクの速度は上がっていない。メモリ上にデータを保持し、マシンを大量にネットワーク上にばらまいたら、そちらの方が速い」と説明する。「単にメモリを分散するだけならmemcached（注：大規模BlogサイトLiveJournal.comの性能向上のために作られたオープンソースの分散キャッシュ・システム）でいいと思うかもしれないが、マシンを1000台並べ、そのうち1台が壊れても止まらない信頼性と一貫性を確保することを考えると、より高度なアイデアが必要。ただしその分、実用化までには壁がありそうだ」（まつもと氏）。

Romaの応用として、巨大セッションを保持するコンテキスト基盤などを考えている。Romaの技術的な位置づけは、米グーグルの「GFS」（Google File System）、米ヤフーの「Hadoop」（ハドゥープ）、米オラクルの「Coherence」（コヒーレンス）、米アマゾンの「Dynamo」（ダイナモ）など大規模分散ストレージ技術と似ている。楽天技術研究所代表の森正弥氏によれば「特にDynamoに位置づけが近い」とのことである。

一方のFairyは並列処理向けの技術で、MapReduce（注：グーグルが分散処理の基盤技術として利用することで知られる並列処理向けアルゴリズム）のRuby実装として検討を始めたもの。大規模並列処理の負荷分散への適用を狙う。「現在は、並列処理よりも負荷分散に主眼を置いて研究を進めている」（森氏）。

このほか、楽天技術研究所の成果としてリコメンデーション・エンジンや動画解析技術に関しても報告した。

研究段階だけでなく、実サービスとして投入済みの技術のセッションや展示もあった。楽天が内製するアプリケーションの開発言語は現段階ではPHPが主流だが、Rubyを活用するプロジェクトも6〜7件が進行中という。Rubyで開発した実例として、マウス操作でカスタマイズ可能なポータル画面「MyRakuten」の新バージョンなどのデモンストレーションを見せた。

今後3年で3000人超の技術者を確保したい

楽天が技術者向けカンファレンスを開催した大きな狙いは技術者を確保することである。

楽天取締役常務執行役員 チーフプロデュースオフィサー 開発・編成統括本部長の杉原章郎氏は、カンファレンスの狙いについて「楽天のテクノロジーを知ってもらい、社内外への刺激としたい」と話す。「現在、楽天社内と協力会社を含めて1100人規模の技術者がいるが、3年後には3倍といったスケール感で数を伸ばしていきたい。当然、東京の開発者だけでは足りない。すでに全国主要都市に開発拠点を立ち上げつつあるが、海外拠点を作ることもありうる」（杉原氏）と、今後も積極的な拡大を続ける姿勢を明らかにした。

（星暁雄＝コモンズ・メディア）

関連リンク 楽天テクノロジーカンファレンス2007

情報をお寄せください：