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

第6回 [ビッグデータ編]チームの誰もが活かせる分析基盤を目指して

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

そのときどきの最新技術を活用してビッグデータインフラを構築

─⁠─現状,ビッグデータ分析基盤はどのような構成になっているのでしょうか。

平本氏:まずデータソースから言うと,Webサイトの情報とアクセス解析結果の2種類があります。前者は商材や顧客の情報,後者はAdobe Analyticsのデータで,これらを日次で取得しています。これらの情報をNetezzaとAmazon Redshiftに投入して分析します。最初に導入したのはNetezzaでしたが,リソースが足りないという状況が発生し,一方でオンプレミスのため簡単にスケールアウトできなかったことから,Amazon Redshiftも利用することになりました。現状でほとんどのバッチはAmazon Redshiftで処理しています。またビッグデータ分析で中心となるデータのロードと加工,エクスポートについて,設定ファイルを書くだけで実行できるフレームワークを独自に開発しています図2⁠。同様の位置付けの製品として,Treasure DataのEmbulkがありますが,このシステムを開発しているタイミングではまだ発売されていなかったため,独自に開発したということです。

図2 ビッグデータ分析のためのインフラ

図2 ビッグデータ分析のためのインフラ

リクルートライフスタイルで使われている,ビッグデータ分析のためのインフラ。ノンプログラミングでバッチを実装するために,独自のフレームワークを開発している

─⁠─今後どのように改修していきたいと考えていますか。

平本氏:現状のインフラはパーツの数が多く運用も大変になっているので,ちょうど次世代のビッグデータインフラを考えているところになります。現状のインフラは2011年ごろから構築し始めていますが,そのときどきの優れたものを段階的に採り入れてきたので要素が増えてしまったという経緯があります。これを整理して,シンプルなインフラにしていく予定です。

注目しているのはKafkaとSpark

─⁠─将来のビッグデータインフラの構築のために,注目しているテクノロジはありますか。

平本氏:Apache KafkaとApache Sparkです。特にSparkは,バッチとリアルタイムのそれぞれの機能が用意されていること,それと豊富なインタフェースを用意している点が魅力です。現状のインフラではSQLしか提供できていないという課題がありますが,エンジニアがもっと簡単に使えるようにしたいと考えたとき,よりフレンドリなインタフェースが提供できるのもSparkの利点です。

写真3 車田篤史氏

写真3 車田篤史氏

車田氏:Sparkの検証フェーズが終わり,近々リアルタイム処理のサービスをリリースします。今後は,Sparkのパフォーマンスを最大限に引き出すことを目指しています。

平本氏:次世代のインフラはこのKafkaとSparkを軸に考えていますが,Amazon Web Servicesから新サービスがポンポンと出てくるので,そっちのほうが楽だと感じればそちらに置き換えることもあるかもしれません。あまり固定的に考えるのではなく,そのときどきで旬なものを積極的に取り込んでいきたいと考えています。

─⁠─オンプレミスとクラウドの選択はどのように考えていますか。

平本氏:リクルートライフスタイルで利用しているシステムは,現状では基本的にオンプレミスですが,ビッグデータのインフラについてはNetezza以外は全部AWS上で動作していて,スケールアウトのしやすさなどといったメリットを考えるとクラウド一択かなと感じています。たとえばユーザーが投入するクエリのボリュームで性能が低下しているといった場合でも,Amazon Redshiftであれば簡単にスケールアウトできるのは,やはりメリットを感じる部分です。

その構築に携わるエンジニアが一番ビッグデータを活用できる

─⁠─将来的に,ビッグデータを取り巻く状況はどのように変わってくると考えていますか。

山崎氏:2~3年先には,おそらくビッグデータ分析のための使い勝手の良いパッケージができると考えています。それによって多くの人たちがビッグデータ分析に取り組み始めたとき,そこに乗り遅れないために何をすべきかを考えているところです。その意味で,この2~3年をどう過ごすのか,そして将来の状況を見越して今何をやっておくべきかはとても重要ではないでしょうか。

平本氏:機械学習にも注目しているのですが,出力すべきものが決まっている教師あり学習ではなく,教師なし学習がもしかすると流行るかもしれませんね。現状は教師あり学習がメインで,人間側で仮説を作ってコンピュータに機械学習させる形が主流ですが,よりデータが増えて処理能力が高まれば,仮説を考えなくてもビッグデータのインフラが勝手に有用なラベリングをしてくれる可能性が高まります。ただ,そこに到るにはまだまだデータが足りない。現状,どのログを蓄積するかは人間の主観で決めてしまっているため,取れていないログがたくさんあると思うんです。

車田氏:私もやはり取得できていないデータはまだまだあると感じています。それに対して,ハードウェアの進化,テクノロジの進化の恩恵を活かしつつ,ありとあらゆるものをカバーできるインフラを整えていく。特にリクルートライフスタイルにはデータの多様性があるので,それを積極的にビジネスに活かせるインフラを作っていきたいですね。

山崎氏:僕が思っているのは,ビッグデータインフラのエンジニアこそがビッグデータを一番使いこなせる可能性のある人だということです。さまざまな種類のデータがビッグデータのインフラに集まっていますが,それに触れているエンジニアはデータの構成やその意味を一番理解しています。その強みを活かし,ビッグデータインフラのエンジニアが新しい企画やサービスを提案する世界が来たらいいなと。そこが登りたい山ですね。

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

画像