Agile Cat — in the cloud

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

Posted in .Selected, Big Data, Twitter by Agile Cat on April 14, 2011

Twitter Search is Now 3x Faster
Wednesday, April 6, 2011
http://engineering.twitter.com/2011/04/twitter-search-is-now-3x-faster_1656.html

clip_image001

ーーーーー

三部作になっています。続編も ど~ぞ。

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

ーーー __AC Stamp 2

ーーーーー

In the spring of 2010, the search team at Twitter started to rewrite our search engine in order to serve our ever-growing traffic, improve the end-user latency and availability of our service, and enable rapid development of new search features. As part of the effort, we launched a new real-time search engine, changing our back-end from MySQL to a real-time version of Lucene. 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.

2010年の春のことだが、 Twitter におけるサーチ・チームは、そのサーチ・エンジンを書き直し始めた。 その理由は、永遠に増大していくトラフィックに対処し、エンドユーザーにおけるレイテンシーとサービスの可用性を改善し、新しいサーチ機能の迅速な開発を可能にする点にあった。 その作業の一部として、Twitter のバックエンドを、MySQL  から Lucene のリアルタイム・バージョンに変更することで新しいリアルタイム・サーチ・エンジンを立ち上げている。 そして先週、私たちは Ruby-on-Rails のフロントエンドを、Blender という Java サーバーに置き換えた。 この変更により、サーチ・レイテンシーを 1/3 に低減し、今後の数ヶ月という短い期間において、いくつかのサーチ機能を改善していけるようになった。 このような発表ができて、とても嬉しく思う。

PERFORMANCE GAINS

Twitter search is one of the most heavily-trafficked search engines in the world, serving over one billion queries per day. The week before we deployed Blender, the #tsunami in Japan contributed to a significant increase in query load and a related spike in search latencies. Following the launch of Blender, our 95th percentile latencies were reduced by 3x from 800ms to 250ms and CPU load on our front-end servers was cut in half. We now have the capacity to serve 10x the number of requests per machine. This means we can support the same number of requests with fewer servers, reducing our front-end service costs.

Twitter サーチは、1日あたり 10億以上のクエリーをサポートするという、最も多くのトラフィックを発生させるサーチ・エンジンの 1つである。 この Blender をディプロイする前の週に、日本における #tsunami により、著しいクエリーが発生し、サーチ・レイテンシーに大きなピークが生じた。 そして、この Blender の立ち上げの後には、私たちの 95 パーセンタイル・レイテンシが、800ms から 250ms へと、約 1/3 に低減された。 さらに、フロントエンド・サーバー上の CPU 負荷は、半分にカットされた。 そして、今では、マシンごとのリクエストに関するキャパシティを、10 倍に引き上げる能力を持つに至った。 それにより、以前と同じだけのリクエスト量を、より少ないサーバー台数で処理することが可能となり、フロントエンド・サーバーに関するコストも低減できるようになった。

image

95th Percentile Search API Latencies Before and After Blender Launch

TWITTER’S IMPROVED SEARCH ARCHITECTURE

In order to understand the performance gains, you must first understand the inefficiencies of our former Ruby-on-Rails front-end servers. The front ends ran a fixed number of single-threaded rails worker processes, each of which did the following:

このパフォーマンス向上の理由を理解するには、以前の Ruby-on-Rails フロントエンド・サーバーの非効率について、最初に理解しなければならない。 このフロントエンドは、固定した数のシングル・スレッド Rails Worker プロセスを実行してており、個々のスレッドは以下の項目を処理していく:

  • parsed queries
  • queried index servers synchronously
  • aggregated and rendered results
  • パーズされたクエリー
  • クエリーされたインデックスのサーバー間同期
  • アグリゲーションとレンダリングの結果

We have long known that the model of synchronous request processing uses our CPUs inefficiently. Over time, we had also accrued significant technical debt in our Ruby code base, making it hard to add features and improve the reliability of our search engine. Blender addresses these issues by:

この同期プロセス処理のモデルが、CPU 非効率に消費していることを、私たちは以前から認識していた。 そして、長い時間を経ることで、この Ruby コードベース上にテクニカルな負債を大量に蓄積しており、サーチ・エンジンにおける信頼性の改善や、新しい機能の追加を難しくしていた。 そして、Blender により、以下の問題に取り組んでいる:

  1. Creating a fully asynchronous aggregation service. No thread waits on network I/O to complete.
  2. Aggregating results from back-end services, for example, the real-time, top tweet, and geo indices.
  3. Elegantly dealing with dependencies between services. Workflows automatically handle transitive dependencies between back-end services.
  1. 完全な、非同期アグリゲーション・サービスの構築。ネットワーク I/O の終了を、スレッドが待たない方式。
  2. バックエンド・サービスからの結果をアグリゲート。 たとえば、リアルタイムや、トップ・ツイート、地理インデックスなど。
  3. サービス間の依存性を、エレガントに取り扱う。 Workflows は、バックエンド・サービス間における、推移的な依存性を自動的に処理する。

The following diagram shows the architecture of Twitter’s search engine. Queries from the website, API, or internal clients at Twitter are issued to Blender via a hardware load balancer. Blender parses the query and then issues it to back-end services, using workflows to handle dependencies between the services. Finally, results from the services are merged and rendered in the appropriate language for the client.

以下のダイアグラムは、Twitter サーチ・エンジンのアーキテクチャを示す。  Twitter における Webサイト/API/内部クライアントからのクエリーは、ハードウェア・ロードバランサーを介して Blender に発行される。 Blender により解析されたクエリーは、サービス間に依存性を処理するワークフローを用いて、バックエンド・サービスへと発行される。最終的に、このサービスからの結果がマージされ、対象となるクライアントに適した言語でレンダリングされる。

Twitter Search Architecture with Blender

ーーーーー

大好評だった、昨日のポスト 『 Twitter における、Ruby から Java への回帰とは? 』の元ネタは、この Twitter Blog の記事です。 長いので、とりあえず Part_1 としてポストします。なお、Twitter で頂いたコメントは、Facebook Page に整理しています。 ーーー __AC Stamp 2

ーーーーー

<関連>

Twitter サーチを 3倍速にする新アーキテクチャとは? _1
Twitter サーチを 3倍速にする新アーキテクチャとは? _2
Twitter サーチを 3倍速にする新アーキテクチャとは? _3
ーーーーー
Blenderに近いアーキテクチャになっているMessage Pack RPCのJava版の実装
Talk about Scala – SlideShare ( @yasushia さんより)
Twitter における、Ruby から Java への回帰とは?
ーーーーー

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

世界市場での PC 販売が 3.2% 減 – そして Microsoft への影響は?

Posted in .Selected, Businesses, Microsoft, Research by Agile Cat on April 14, 2011

Trouble For Microsoft: PC Sales Slip In Q1
Matt Rosoff | Apr. 13, 2011, 5:41 PM
http://www.businessinsider.com/trouble-for-microsoft-pc-market-tanks-in-q1-2011-4

_ Business Insider

Research firm IDC says that global PC shipments dropped 3.2% in the first quarter compared with last year. That’s the first annual decline since Q3 of 2009, when the economy was just picking up from the deepest recession in decades. IDC had previously expected modest growth of 1.5%.

リサーチ会社である IDC によると、2011年 Q1 におけるグローバルな PC 出荷数が、昨年同期との比較で 3.2% ほど下落していると言う。それは、この数10年間における最大の不況に、世界経済が喘いでいた 2009年 Q3 以来の下落である。 また、IDC は以前に、1.5% という控えめな成長を予想していた。

clip_image001That’s bad news for Microsoft, which still Windows and Office for the lion’s share of its revenue and profit. Windows revenue usually tracks PC shipments, which suggests a tough quarter. Office 2010 has helped Microsoft beat Wall Street expectations for the last two quarters, thanks in large part to strong consumer sales, but if consumer PC purchases are stalling, that trend may end this quarter as well. Microsoft reports earnings for the quarter on April 28.

それは、依然として Windows と Office が最大の売上/利益となっている、Microsoft にとっては悪い知らせとなる。これまでにおいて、Windows による売上は、PC の出荷数に依存するため、今後の四半期が厳しくなると考えられる。 過ぎ去った 2つの四半期においては、Office 2010 の売上が好調であったため、Microsoft は Wall Street の予測を上回ることができた。それは、根強いコンシューマ・セールスのおかげだったが、そこでの購買意欲が行き詰まると、こうした傾向も今回の四半期で終わることになる。Microsoft は、4月28日に、この四半期における収益をレポートする。

IDC blamed rising fuel prices, as well as the earthquake and tsunami in Japan for stalling growth there. Apple’s iPad and other tablets are also replacing some PC sales, particularly low-cost netbooks and notebooks.

IDC は、この成長の停滞について、日本での地震と津波だけではなく、原油価格の上昇を指摘している。 Apple の iPad などの Tablet が、PC の売上をリプレイスしており、低コストのネットブックとノートブックにおいて、その傾向が顕著になっている。

IDC doesn’t count tablets in its PC sales numbers, but the Mac is doing OK as well: Apple was the only one of the top five personal computer maker to show growth in the U.S. during the quarter.

IDC は、PC の販売数に Tablet を加えていないが、Mac に関しては PC として扱っている。 そして Apple は、この四半期においてアメリカ国内で成長を見せた、TOP-5 における唯一の PC メーカーとなった。

Netbook and portable computer leader Acer had a particularly bad quarter, with shipments down nearly 16% worldwide and 42% in the U.S.

ネットブックとポータブル・コンピュータのリーダーである Acer にとっては、最悪の四半期となってしまった。 その、グローバル市場は 16% の下落であり、アメリカ市場は 42% の下落となっている。

Here are IDC’s charts:

以下に、IDC から提供された表を示す:

image

image

ーーーーー

つまり、リーマンショック以来の PC 不況となったわけですが、その背景には IDC が指摘するとおりに、Tablet の台頭があります。 そして、コンシューマ市場においては、やはりソーシャル・メディアの存在が大きく、クライアント・デバイスの在り方が大きく変化しているのでしょう。 この傾向は、昨年の秋から指摘されていたものであり、その意味では順当な結果とも言えます。 以下の 2つの関連ポストですが、とても興味深いグラフが提供されています。ぜひ、ご覧ください。ーーー __AC Stamp 2

ーーーーー

<関連>

iPad を PC の一部として計算すると、とてつもない地殻変動が見えてくる
Note PC の市場を奪い尽くす iPad の破壊力 – Morgan Stanley

%d bloggers like this: