大規模分散処理基盤プロジェクトにRubyで挑戦--まつもとゆきひろ氏
Ruby on Railsで注目を集めるRuby。開発者であるまつもとゆきひろ氏に話を聞いた。
「たとえばあるループ処理を回すのに何秒かかったとか、そういう些細なことでプログラミング言語を貶めたり、そういうことだけで評価される人というのが実際にいたりする。技術者自身はRubyを使いたいと思っているのに、そういう人が(社内で)上にいることで、Rubyが使われないというのはもったいないじゃないですか。そうした事態をなくすために、Rubyの高速化はしたいと思っています。そうした問題を解決するのが、われわれのやっていきたいことだと思っていますね」
現在開発中の1.9では「解決したか、あるいは納得したかのどちらかなので、ここをこうしたいという課題はあまり残っていない」としながらも、2.0以後の課題としては、ソフトウェアの規模が大きくなってきた時にどのように対応すべきかが課題になってくるのでは、という考えを持っているという。それは、どのようにして分散開発を進めていくかということに関わっているようだ。
「Rubyの場合、既存のクラスを含めて、すべて書き換えてしまうことができるんですね。そうすると影響の範囲が全体に及んでしまって、場合によっては良くない。そこで、モジュールみたいな切り分けをして、ある範囲では書き換えをしても、その範囲だけで影響を及ぼす、そのほかの範囲には影響しない。そうしたことができると、人数の多い開発チームでも、わりと安心して大胆な変更ができそうな気がしています。今は、そうしたことを考えていますね」
楽天での大規模分散処理基盤プロジェクト
この6月、Railsを活用している楽天では、まつもと氏をフェローとして楽天技術研究所に迎え入れている。同研究所は、楽天社内の研究開発組織として長期的戦略に基づいた研究開発を進めているのだが、そこで同氏を中心に進められているプロジェクトが大規模分散処理基盤だ。この大規模分散処理について同氏は、「実はあまり得意ではないのですが、世の中の一歩先未来のニーズは、そこにあることだけは間違いないので、やっておかなきゃいけないと思って取り組んでいます」と語っている。
分散処理というと、ウェブサーバなりDBサーバなりを並べるといったハードウェアとしてのインフラに近いところを誰でも想起するだろう。ある大きなデータがあって、それを処理するのに1台のサーバでは現実的時間ではとても足らない。解決するには、たとえばデータセンターのようなたくさんのサーバがあるところにデータをバラバラにしてバラまいて1台あたりの処理時間を短くすることで終わらせるといった具合だ。同技研が進めている大規模分散処理もこうした基本アプローチを取っている。プロジェクトの目的を同氏はこう説明している。
「ターゲットとしてはデータマイニングを考えています。楽天ですと、3000万人ぐらいの会員がいて、そのうちアクティブな会員も結構いて、その購買情報というのは、数テラバイトどころじゃないぐらいの大きなデータなんですが、正直全然手つかずなんです。もし、その購買情報をきちんと管理できれば、たとえば、“ある人の購買傾向はこれだから、この辺のものが売れるに違いない”とかリコメンデーションができるわけです。あるいは、“こういうような人たちに売れたので、あなたの店ではこういうキャンペーンをやってみたらどうですか”といったアドバイスでもできるわけです」
- ホワイトペーパー
- 話題のタグ
ユーザーにとっては、UIがすべて
Google ChromeのCSS 3対応状況
Google Chromeのユーザーインタフェース:IE・Operaとの類似を考える
フォトレポート:Google Chromeを支えるブレーンたち、ローンチイベントで集合
Appleの「JailBreak」に対する考えを推理する
Oracle VM Templatesを活用する
iPhoneがそれでもJailBreakできる理由
Firefoxの必携アドオン10選
ITエンジニアの幸せな未来とは:ワークとライフは対立しない
Firefox 3.1のHTML 5対応を検証--Drag and drop API
フォトレポート:「iPhone」アプリで暇つぶし--CNET記者が「これで1日過ごしました」
Webセキュリティ特集
ZDNet Japan ホスティング特集
ログ管理ソリューション特集
Techno Exchange
ZDNet Japan Green IT
サーバ仮想化・グリーン化の利点を最大化!
「シンプル」&「低コスト」な運用管理
APC SOLUTIONS FORUM 2008をレポート
セキュリティ対策レベルテスト公開!