楽天テクノロジーカンファレンス2008 に行ってきた。場所は東京は品川、楽天本社内。
ウェブ上の概要を読むだけでは、なにやら楽天が技術的なカンファレンスをやるらしい、という事しかわからないのだが、ネット上のコミュニティ(メーリングリスト)では具体的に色々とリークされていたのが興味深い。Ruby をつくった まつもとゆきひろ氏の講演だとか、楽天の技術についてだとか色々興味深いセッションが盛りだくさんですた。ネットのコミュニティにしか敢えて情報を出さなかったのは、来社層の選別をしたかったのかな?と。
自分がコミュニティ系で気がついたのは Linux-users での告知。Linux ユーザーズグループメーリングリストでは 11/14 の時点でメールが流れていました。そのほかにも Debian のML、Gentoo のMLとかでも、LUG 系でもちらほら拝見。
ちなみに無料でした。一切合切。去年から楽天十周年の際にスタートしたもので、今年は2回目だとか。機会があれば、また来年もいってみたい。
興味深かったのは、現在の楽天のシステムについて。データセンターのネットワーク運用まで自分たちでやっているとはねぇ。専任のサーバエンジニアやネットワークエンジニアなどが100人程度。ASも取得していて、トラフィックはピーク時で12Gbps(多いのかな?少ないのかな?)。サーバ稼働台数は4000台以上、ネットワーク機器1000台以上(L2とかスイッチも含んでね)、そして管理しているラックは1000ラック以上とか、データ容量はコンテンツだけで 200TB、DB(SAN上のデータ)だけで 20TB とか・・。へーと思った次第でありますと(一応、これでも元サーバ管理者でしたので、これだけの管理は中の人大変だろうなぁと)。
◆以下、主観を交えつつ「楽天テクノロジーカンファレンス2008 」の様子。
あくまで主観ね(手許にあるメモから、自分の気になったことの、まとめ。11/30 01:18 update)
まつもとゆきひろ氏の様子。初っぱなの基調講演がまつもとゆきひろ氏。
世の中不況みたいだけど、自分からチャレンジしないとね。そのためには位置ポテンシャルの高いところから情報発信云々の下りがナルホドとおもいました。あとは、インターネットは現代のシルクロードとかね。嘗ては2年ぐらいで情報が伝わっていたものが一瞬でやりとりできるようになって、すごいとか。確かに。
自分が開発者でなくとも、タイムマシン商法といいますか、情報の早いアメリカとかにアンテナを高くはっていれば、伝わっていない日本を含め他の国で情報を伝えることは、それだけでも価値がある、という話も。これも、位置ポテンシャルの話。そういう意味で、オープンソースというのは、元手が少なくともチャレンジが出来るんだから、良い時代になったよね。
ちょっと昔の日本でのインターネット商用解放の頃の話もあって、あの頃の専用線といえば 64kbps で数万円かけていたなぁ、というのが懐かしい。今だと光ファイバを自宅に引き込んでも数千円。すごいよね。まさに、隔世の感があります。
ちなみに、そのころ私はKT-BBSでパソコン通信のホストを開いていましたが、何か?ホスト機はPC-9801VXにゲタをはかせてクロックアップしていたような。。ISDNを引いたのはアナログ2回線にしたかったとかなんとか・・脱線失礼。
あとは、氏の小学五年生の子供と人生について語り合ったとか。理解したかどうかはしらないけど、という前置きではあるが、コミュニティに生息するような我々のような解決者はどう生きるべきか。結論としては「自分で考えてね」とのこと。
それと、我々のような技術者は、いかに生きるかを考えるに当たって大事なことは、人と人とのつながり。そのためには「勉強会」を積極的に開催しようという話もありました。まつもとゆきひろ氏は海外のコミュニティに参加することも多いのだが、海外では数万円程度払っても勉強会に参加して、そこで人と人とのつながりを増やそうとする人々が多いとのこと。日本の勉強会は数千円で参加できるんだから、もっと積極的にコミュニケーションをとってもいいのでは?ともとることができた。一人では出来ることが限られているけど、別の能力を持った人たちがどんどん入ってくることで、色々出来る幅が広がるのは、良いこと。(11/30 15:46追記。大事なところを忘れるところだった。)
#ところで、司会進行の人が「まつもとひろゆき」と紹介したのはネタだったんだろうか・・・ひろゆきてwおまww たぶん、原稿にそう指示してあったんだろうなぁ・・
◇レコメンデーションシステムの説明
amazon で始まった「履歴から関連商品をおすすめ」「この商品を見た後に買っているのは?」を実装するシステムについて解説があった。楽天で開発を進めているのは、Locality Sensitive Hashing という論文を元にした技術らしい。
LSH=Locality Sensitive Hashing というアルゴリズムの論文が 1999年に発表されており、それを元に開発をすすめているとのこと。図の通りで、ベクトルで類似点を出すような仕組みとのこと。
画面上では
Original LSH algorithm (1999): the best algorithm for the Hamming space remains the one described, e.g, in [GIM'99] paper.
このように出ていて、引用されていた最新の LSH アルゴリズムに関する論文の URL はここ。
http://www.mit.edu/~andoni/LSH/
LSH Algorithm and Implementation (E2LSH)
じっくり読んでみよう。ちなみに、現状の課題は、やっぱり膨大な商品数をどう処理するかという点。結構リソースが必要になりますよねぇ。
なお、研究だけではなく、もちろん楽天を通じて成果もでているわけであり、成果転換率は通常で 1.2 倍、最大で 1.5 倍に、って転換率って売り上げ向上?につながったらしい。アマゾンのオススメとか、ああいう風に仕組みがあると、ついつい買っちゃうんだけど、やっぱり売り上げとかにも成果は出るみたいですね。今後のECサイトにはレコメンドシステムが必須になりそうな予感。
◇ROME(ローマ)とfaily(フェアリー)
楽天としては、ruby ベースで、所謂「クラウドコンピューティング」的なシステムを開発し、しかもオープンソースとして 2009 年に開発することを念頭においているとのこと。
いわゆるクラウドコンピューティング=スケーラブルの確保(拡張性ね)と呼ばれる技術は、
- Google の GFS(ジーエフエス)
- Yahoo! の Hadoop(ハドゥープ) http://hadoop.apache.org/core/
のふたつの大きな流れが現状としてはある。Hadoop はオープンソース。
楽天としても、ROME(ローマ)はストレージの耐故障性、fairy(フェアリー)はメモリ空間を使った処理のスケーラブルを確保するための技術とのこと。いずれも「大規模分散処理」とジャンル分けされる類である。
fairy一般的なクライアント=サーバ間のシステムの概念の上に、サーバ側が書くノード間に処理を引き渡して分散処理をして結果を得るというようなもの。
2009年にはオープンソースにしたいとのことで、興味津々。
開発背景としては、スケーラビリティの確保を楽天としてちゃんとシステム化したいというような話。楽天も、もとは小さな会社から大規模な会社に急成長したからと。
あと、fairy は、今は信頼性の高さに基軸をおいているという話だった。信頼性が低いけど高速なしくみはあるみたいだけど、それは仕事ではつかえないよね。あと、一般論的な所で、ディスクは冗長化を図ることはできるけど速度が犠牲になってしまう、メモリは応答速度が速いけど再起動時に消えちゃうとか。そのあたりを楽天は ROMA + fairy で、Ruby に載っけた状態で提供したいようだ。
◇APIを作っているチームのみなさん
大規模なシステム(サービス開発当初のシステムか?)は Java であった。
中規模なものは PHP 中心で組んでいる。
小規模なものや最近のものは Ruby で書くようにしているとのこと。
◇トラフィックとか
ちなみにマシンは 3+n 台の構成を基本としているとのこと。オラクルの冗長化システムとか、HA(
あとは、ハードウェアは写真で判別するに DELL 製のものが多かったようだ。しかし、メーカの都合によって、これまで入っていた OS が急に入らなくなることもあったらしい。なので、最近は複数のメーカーに分散していてリスクヘッジをはかっているとのこと。
OS は、言葉から推測するに「Debian」が主流らしい。Linux のオープンソースを使って開発している、という話+スライドに映された楽天が使ってる技術に Debian が見えたので。RHEL(Red Hat Enterprise Linxu)も使っているようだけど、あっちは有償だからねぇ。
◇仮想化とか
色々と自社内で検証はしているが、アプリケーションによっては不具合も見られるようだ。まだ仮想化は「若い技術」という評価みたい。
個人的には、楽天という会社に対する印象が随分変わったなぁと。楽天という会社としては Ruby を全面的にバックアップするような姿勢も覗えて、そろそろ ruby さわれるようにしたいなぁとか。せっかくの興味深いセッションなんだから、質疑応答の時間は欲しかったなーとか。とはいえPR 的(宣伝・広報という日本でいう所のPRではなくて、パブリック・リレーションとしての、PR の意味で)には良い仕事してるよね。などなど、おもった次第でありますと。刺激になりますた。行って良かった。
コメント (3)
参考になりました
投稿者: 通りすがり | 2008年12月01日 00:52
日時: 2008年12月01日 00:52
HA=High Availabilityだと思います。
投稿者: 匿名 | 2008年12月04日 19:49
日時: 2008年12月04日 19:49
>匿名さん
こんばんは、ご指摘ありがとうございました。
そうですね、普通に High Availability ですね。勘違いしていました。
投稿者: 前佛 雅人 | 2008年12月09日 00:50
日時: 2008年12月09日 00:50