Agile Cat — in the cloud

Twitter における、Ruby から Java への回帰とは?

Posted in Big Data, Twitter by Agile Cat on April 13, 2011

Once Again, Twitter Drops Ruby for Java
By
Alex Williams / April 11, 2011 4:00 PM
http://www.readwriteweb.com/cloud/2011/04/twitter-drops-ruby-for-java.php

_ Read Write

ーーーーー

<元ネタです>

Twitter サーチを 3倍速にする新アーキテクチャとは? _1
Twitter サーチを 3倍速にする新アーキテクチャとは? _2
Twitter サーチを 3倍速にする新アーキテクチャとは? _3

ーーーーー

Twitter has now moved its entire search stack from Ruby-on-Rails to Java. That’s a big shift. Twitter moved its back end message que from Ruby to Scala, a Java platform in the 2008-2009 time frame. The move was attributed to issues with reliability on the back-end. This latest move makes the shift pretty much complete. At Twitter, Ruby is out of the picture.

Image(28)

Twitter のサーチ・スタック全体が、Ruby-on-Rails から Java に移行された。 まさに、大きな変更である。 具体的に言うと、Twitter のバックエンド・メッセージ・キューが Ruby から、2008-2009 タイムフレームにおける Java プラットフォームである、Scala に移行したことになる。 この変化は、バックエンドにおける信頼性の問題に起因すると思われる。 この、最近に実施された変更は、その大方を完了し、Twitter からは Ruby が消えることになる。

Twitter explains the change on its engineering blog:

Last week, we launched a replacement for our Ruby-on-Rails front-end: a Java server we call Blender. We are pleased to announce that this change has produced a 3x drop in search latencies and will enable us to rapidly iterate on search features in the coming months.

Twitter の engineering blog では、この変更について、以下のように説明されている:

Last week, we launched a replacement for our Ruby-on-Rails front-end: a Java server we call Blender. We are pleased to announce that this change has produced a 3x drop in search latencies and will enable us to rapidly iterate on search features in the coming months.

先週のことだが、Ruby-on-Rails によるフロントエンドを、Blender と呼ぶ Java サーバーに置き換えた。 この変更により、サーチのレイテンシーが 1/3 に抑えられたことを発表できて嬉しい。 そして、今後の数ヶ月のうちに、複数のサーチ機能について、迅速なイテレーションが可能となる。

imageDoes this mean that Java is better than Ruby for services with heavy loads?

つまり、大きな負荷を伴うサービスに関しては、Ruby よりも Java の方が適しているのだろうか?

Ganeshji Marwaha, director at Triomatrix Webservices, says it all depends:

Wow, that is quite an achievement. Could this mean that Java is a better platform than Rails for high scalability needs? Even if that is the case, for simpler scenarios, the beauty of RoR out-weighs Java’s performance.

They say that this change will enable them to rapidly iterate on search features in the coming months. That along with the news that Twitter has hired 25 more employees kinda tells that Java’s code base is practically more maintainable than equivalent Ruby code – at least when the code base is huge and the team size is large. Or that could mean that this time they really put a lot of thought into designing a maintainable system than when they started out. But for smaller team size and code base, RoR is still an unbeaten champion.

Triomatrix Webservices のディレクターである Ganeshji Marwaha は、すべてが依存すると発言している:

Wow ! それは、なかなかの成果だ。 それにより、高度なスケーラビリティの要求において、Java が Rails よりも優れたプラットフォームであると、捉えられるのだろうか? たとえ、そのようなケースであるにしても、よりシンプルなシナリオにおいては、RoR の美しさが Java のパフォーマンスに勝る。

Twitter は、今後の数ヶ月のうちに、複数のサーチ機能について、迅速なイテレーションが可能になると言っている。 この、Twitter が 25人の技術者を採用したというニュースによると、Java と Ruby のコードを比較して、Java の方がメンテナンスしやすいと捉えられる。少なくとも、そのコードベースが巨大である、さらにチームの規模が大きいときには、そうなる。 また、今回の変更においては、Twitter がスタートしたときと比べて、さらにメンテナンスが容易になる、たくさんの新しいアイデアが投入されたのかもしれない。 しかし、小規模なコードベースとチームを前提にするなら、依然として RoR が無敵のチャンピオンである。

You can read the full account about the new search capabilities with Java on the Twitter blog post. It goes into detail about the changes and the benefits that it is seeing with the switch.

なお、Twitter のブログ・ポストで、Java を用いた新しいサーチ機能に関する、詳細な記述が読める。 そこでは、今回の切り替えにおける、変更とメリットに関する細部が述べられている。

ーーーーー

先日の 『 MySpace を殺したのは Microsoft ソフトウェア・スタックなのか? いや、それは違うだろう 』 では、Twitter においても RoR を、そのまま使っていることなどあり得ないと、Todd Hoff さんが説明していました。そして、今回の変更は、Java への回帰という、とても興味深いものになっています。 MySpace の失速も、開発のための環境やツールを、使いこなせる人材の確保の難しさが原因とのことであり、ハイ・スケーラビリティの難しさを感じさせてくれます。ーーー __AC Stamp 2

ーーーーー

<関連>

Twitter は 毎日、46万ユーザーを増やし、1億 4000万ツイートを発信する
TOPSY の Twitter 分析 API は、5 億クエリー/月 を処理する!
10億人のユーザーを目指す、Twitter の 6つの戦略とは?
日本の大震災で証明された Twitter と Facebook の SOS パワー
Twitter が、新しいデータセンターへの移行を完了
Happy Birthday Twitter – 5 歳になりました!

%d bloggers like this: