リクルートライフスタイルの技術力を追え!

第4回 [データ分析編]“制約なし”で大規模データ分析基盤を構築

この記事を読むのに必要な時間:およそ 2 分

大規模データの即時分析を視野にプロジェクトを推進

――制約を設けないということは,必然的にコスト負担も大きくなるのではないかと思うのですが,そのあたりはどのように整理されたのでしょうか。

吉村氏:まず人的コストで言えば,内部の社員を中心にできるエンジニアだけを集めてプロジェクトを回すようにしました。それによってエンジニアの人数を抑えています。また,最も足枷がない形で,エンジニアの人たちに最高のパフォーマンスを発揮してもらいたいと考えたことも少数精鋭にした理由です。

インフラのコストで言えば,今回はクラウドを全面的に利用しているので,オンプレミスよりも格段に安くなっています。それと先ほどお話したように,レコメンドに分析データを使うことでプロフィットを得ることができます。私たちのサービスでコンバージョンレートが数%上がれば,かなり大きな額の売上向上につながります。データの収集と分析,そしてレコメンデーションまで,分析のサイクルをグルッと回せば,十分にビジネスとして成立します。このため,コストが問題になることはなく,やればいいじゃないという話になったのです。

――具体的には,どのような処理が行われているのでしょうか。

吉村氏:まだ始めたばかりですが,最近は最も大きいじゃらんのデータを取得し始めています。まずは売上影響の大きそうなページや機能から,1日数十Gバイト程度の取得を始めています。この適用範囲はどんどん広げていく予定です。

吉田氏:ただ,まだまだ序の口ですね。とりあえずじゃらんで一部のログデータを取り始めましたが,不足している機能も多いですし,プロジェクトはこれからが本番だと考えています。

吉村氏:そうですね。もっと多くのデータをリアルタイムに分析したいと思っています。もともと日次でデータを転送して分析していた処理をリアルタイムに近い形,たとえば1分といった間隔でどれだけ処理できるのか。技術的なハードルが高いことに挑戦しているので,プロジェクトはようやくスタートを切ったという段階です。

オープンソースの活用で開発のスピードを高める

――現状のシステム構成を教えてください。

吉田氏:ベースで使っているのはAmazon Web Servicesのクラウドサービスです。それに現状ではElasticsearchやKibanaを使ってデータを可視化図2しているほか,一部を集計してDynamoDBに投入し,それをAPIで取得するといったこともやっています。

図2 分析結果がわかりやすい形でグラフィカルに表示されている。この結果を新サービスなどの企画立案に活かすほか,レコメンドエンジンとしても使うことでプロフィットを生み出すことを視野に入れている

図2 分析結果がわかりやすい形でグラフィカルに表示されている。この結果を新サービスなどの企画立案に活かすほか,レコメンドエンジンとしても使うことでプロフィットを生み出すことを視野に入れている

図2 分析結果がわかりやすい形でグラフィカルに表示されている。この結果を新サービスなどの企画立案に活かすほか,レコメンドエンジンとしても使うことでプロフィットを生み出すことを視野に入れている

吉村氏:社内に固定的にインフラを持ち,同じような環境を構築するのは難しいですね。たとえば膨大なデータを解析できるだけのCPUやメモリ,ストレージといったハードウェアリソースを全部そろえるのは現実的ではありません。その意味でクラウド以外の選択肢はなかったのですが,一方で特定のクラウドサービスに依存するとロックインされてしまうジレンマもあります。

ロックインは避けたいが,同じような環境を私たち自身で構築するのは難しい。それならば,私たちはクラウドを道具として使い,その結果をサービスにどう反映するかで勝負する。そこが一番の本質であると考えています。

吉田氏:Fluentdなどのオープンソースも積極的に活用しています。ソースコードが自分で見られるので,何か問題があってもすぐに確認できますし,必要な機能を追加するといったことも可能です。本当に必要なものであれば自分で開発して自由に追加できるので,スピード感を持ってプロジェクトを進められるのは大きなメリットだと思っています。

新しく採用した技術で言えば,プログラミング言語にGoを使っています。ほかの言語の良いところがしっかり盛り込まれていて,なおかつ無駄な機能がなくて簡潔に書くことができます。静的型付け言語のため処理も速いですし,堅牢なプログラムを書けて,非常に使い勝手の良いプログラミング言語だと感じています。

リスクを適切にコントロールしクラウドを活用

――技術的に肝となるのは,どのような部分でしょうか。

吉田氏:大きいのはリアルタイム性でしょうか。そのため,基盤には遅延なくきちんとデータを捌けることが求められます。今回は制約がないという背景もあったので,ちゃんとスケールできるしくみを導入し,基盤がボトルネックにならないような工夫をしようと考えています。現状,じゃらんのデータを取得していて,レコード数が数千万件,データ量が1日あたり数十Gバイトというところですが,本格的に対応すると10倍以上のデータ量になると予想しています。それにきちんと対応できる形を整えなければなりません。

吉村氏:海外では,本当に細かく,かつリアルタイムにデータ分析を行っていて,それを利益に結び付けています。たとえば,eBayやエクスペディア,Booking.comといったサービスです。世界のトップクラスは,データ分析をしっかり行っていて,すごいレコメンドをしかけるなど,さまざまな手を打ち出しているわけです。そういうところを目指さないと,何をやっているの? 何でそんなに小さく収まっているの?という感じになってしまう。

確かに今までは技術的,環境的な制約がありましたが,それらを取り払って考えたときにどこまで行けるのか。おもしろい挑戦だと思いますし,これを実現すると,やっと世界の背中をちょっと掴むぐらいまで行けるのかなと思っています。

――本日はありがとうございました。