Facebookのシステムを調べている。一番参考になったのは、”Facebook's New Realtime Analytics System: HBase To Process 20 Billion Events Per Day” http://t.co/CoUJlwHQ
2012-03-30 04:48:06FacebookのReal-TimeのBig Data処理と、その肝になるPumaについて詳しいのは、Zheng Shaoの”Real-time Analytics at Facebook” http://t.co/fWyJRrUc
2012-03-30 04:54:47その他、PublicKeyの「FacebookがHBaseを大規模リアルタイム処理に利用している理由」前編・後編が、日本でのセミナーの様子を紹介している。http://t.co/5AMOAVpW http://t.co/rRUJBQof
2012-03-30 05:00:21このセミナーについては、tagomorisさんの、紹介とコメントがある。http://t.co/KR74el3K 残念ながら、イベント自体のUstreamとスライドのリンクは切れているようだ。
2012-03-30 05:05:14Agile Catさんが、”Facebook’s New Real-Time Messaging System: HBase To Store 135+ Billion Messages A Month ”の翻訳をしている。http://t.co/MFNf1ZAt
2012-03-30 05:07:55Agile Catさんは、”Facebook Retools Messaging Infrastructure ”の翻訳 http://t.co/vd4OgzhW いくつか大事な記事を翻訳している。
2012-03-30 05:10:04僕が見つけたのは、これ。”Apache hadoop goes realtime at Facebook” http://t.co/mB5Afvoz Avatar Nodeの導入等、”Real Time HDFS”のためのFacebookのチューニングが詳細に書かれている。
2012-03-30 05:18:25残念ながら、このACMの論文には、Pumaの記述がない。Puma Query Language面白そうなのに。そのうち、オープンソースになるのかしら?
2012-03-30 05:21:08Facebookのシステムは通常の3-Tierモデル(Cache層をいれて4層モデル)とは、大きく異なっている。前面にあるのは、全てのリクエストやイベントのロギング・システムである。 Write Ahead Logging (WAL)が、Scalabilityの根幹に置かれている
2012-03-30 05:32:16WALは、データベースに書き込んでコミットする前にログを作成するという、データベースでは普通に用いられているテクニックである。Oracleなら、REDOログファイル。障害が起きてロールバックできるのは、このログファイルがあるからである。
2012-03-30 05:36:51Facebookのシステムは、リクエストやイベントを、それを処理する前に、全てログファイルに書き出している。多分、超巨大なログファイルが、まず作られる。Facebookは、それからおもむろに、そのログファイルを片っ端から読み込みはじめ、必要な処理をはじめる。
2012-03-30 05:41:34これは、システムのScalabilityとAvailabilityを担保するには、非常に有効な方法である。また、Real TimeのBig Data処理にとって、今後、基本的なパターンになっていくような気がする。
2012-03-30 05:44:59ログを集めるのは、Scribeと呼ばれるもの。これは、既にオープンソースとして、GitHubで公開されている。https://t.co/5uXIsEu1
2012-03-30 05:47:13