大規模分散処理基盤プロジェクトにRubyで挑戦--まつもとゆきひろ氏

田中好伸(編集部)
2007-12-19 18:00:00
  • このエントリーをはてなブックマークに追加
最新特集【一覧】

 「生産性が高い」ウェブアプリケーションの開発フレームワークとして「Ruby on Rails」(Rails)がこの2年ほどの間で大きな注目を集めている。Railsはさまざまなウェブサイトで活用されているが、このRailsの基本となっているのが、オブジェクト指向スクリプト言語の「Ruby」だ。

 もともと生産性の高い言語として注目されていたRubyだが、ここにきて大きく注目されたのが、カカクコムの運営する飲食店情報共有サイト「食べログ」がバックエンドシステムを刷新するにあたり、全面採用されたからだ。

 食べログの月間利用者数は380万人。これだけの規模のウェブサイトにRubyが採用されたのは国内でも最大規模という。従来、こうした大規模サイトでのRuby導入は、サイトの動作処理速度に問題があると言われていたのだが、カカクコムでは、Rubyでの処理速度に大きな問題はないと判断して、導入に踏み切っている。

 またショッピングモール「楽天市場」を運営する楽天でも、自社で提供するネットサービスにRubyおよびRailsを採用、利用を開始していくことを明らかにしている。

大規模サイトで活用され始めるRuby

 食べログと楽天のそれぞれに協力しているRuby開発者のまつもとゆきひろ氏は、大規模サイトでRubyが活用されていることについて、こう語る。

 「実は楽天や食べログが使っているレベルというのは、すでに検証されているものなんですね。ノウハウさえたまっていれば、運用でなんとかカバーできるレベルなんです。ですから、大規模サイトでRubyを使うことの技術的課題があるかというと、それほどたくさん残っているというわけではないんです」

 もちろん、そうしたRubyであっても性能上の問題は時々発生することはあるそうだ。しかし、そうした問題も既存の技術、たとえばクラスタリング、データベース(DB)をどう配置するかといった対応策で解決可能なものだという。

 食べログではRailsを活用しているが、そこでは若干のチューニングが必要だったという。

 「RailsのデフォルトのO/Rマッパーはアクティブレコードなのですが、あまり大規模向けのSQLをはかない。これが原因となって、あまりパフォーマンスが出なかった。そこをチューニングする必要がありましたね」

 こうしたチューニングには同氏の所属するネットワーク応用通信研究所(NaCl)も関わっている。

高速化はそれほど重要ではない

 現在のRubyの安定版は1.8.6。今後の1.9あるいはその後の2.0では、どのような改良をしていくのか。大規模サイト向けに対応するとなると、高速化が重要となっていくのではないか。しかし、高速化はそれほどの重要性を感じていないと同氏は語っている。

 「食べログでも楽天でも、現行の1.8で十分耐えられることから考えても、高速化というのは最重要なファクターではなくなっています」  それでも今後のRubyでは高速化を念頭に入れていると同氏は語る。その高速化とは大規模サイト対応という意味合いとは少し異なるようだ。

  • 新着記事
  • 特集
  • ブログ