DMM.comの、一番深くておもしろいトコロ。

DMMのビッグデータ基盤の裏側を大公開!CDHクラスタ移行・Presto導入・Digdag導入により得られた効果とは?

DMMのビッグデータ基盤の裏側を大公開!CDHクラスタ移行・Presto導入・Digdag導入により得られた効果とは?

  • このエントリーをはてなブックマークに追加

f:id:dmmlabotech:20170911101222j:plain

こんにちは!DMM.com Labo ビッグデータ部の 吉田 ( @ryysud ) です。

2017年8月25日(金) に開催されたパーソルキャリア株式会社主催の TECH PLAY Conference 2017
鈴木 ( @i_szyn ) と登壇してきました。

今回は、そこで発表した内容を資料公開も含めて報告させて頂ければと思います!

イベント概要

「テクノロジー」「デザイン」「ビジネス」の各領域での実践的な事例紹介を趣旨としたイベントとなっており、私たちは大規模Webサービスをテーマに開催された日の「ビッグデータを活用したWebサービスの技術」というセッションで発表させて頂きました。 #techplayconf2017

techplay.jp

タイトルはこちら。

DMM.comのビッグデータ基盤を支える技術

弊社ビッグデータ部では、オンプレミス環境で Hadoop をベースとしたデータ基盤の保守運用を行っており、それに加えアドホック分析には Presto、エンジニア・アナリストが利用するBIツールとして Zeppelin / Re:dash、ETLにワークフローエンジンDigdagなど様々なOSSを積極的に採用し、より快適な分析基盤の構築に努めています。

今回の発表は、そんなビッグデータ基盤を支えている技術と活用事例について紹介させて頂きました!

登壇資料

当日ご参加いただい方もそうでない方も、是非ご覧いただければと思います。

補足

ここからは資料公開後に Web で挙がった質問にお答えしていきたいと思います。

なぜ CDH を利用しているのに Impala ではなく Presto を採用したのか?

アドホッククエリエンジンは、下記のものを評価軸として選定を行いました。 (2016年2月初め頃です)

【 対象プロダクト 】

  • Impala
  • Hive on Tez
  • Drill
  • Presto
  • Presto on Yarn

【 選定基準 】

  • 複数データソース対応・耐障害性
  • リソース管理機構 ◎
  • 低レイテンシ ◎
  • Hive UDFサポート
  • インターフェース(REST-API等) ◎
  • 運用
  • CDHサポート
  • コスト
  • 将来性

f:id:dmmlabotech:20170911101331p:plain ※実際に利用したシート

その中でも◎のものに重点を置き、各プロダクトに対して得点を付ける形で選定を行いました。

その結果、重点をおいた選定基準の得点が良かったのに加えて、複数データソースへの読み書きに対応しているという特徴から Presto を選定する判断に至りました。環境にもよると思いますが、私達の環境では受けられるメリットは大きいと感じています。

また、リソースに関してもCDHクラスタとは別に分けたいという希望があったため、Presto は別クラスタとして構築する形をとりました。

なぜ CDH のワークフローエンジンではなく Digdag を採用したのか?

CDH のワークフローエンジンの選択肢として、Oozie が存在していました。

当初 Jenkins から Ooize への移行プロジェクトが進む予定でしたが、 今後の拡張性も加味した結果「他の選択肢も入れても良いのではないか?」という声が挙がり、下記の選定基準を設けてワークフローエンジンの技術選定を開始しました。

【 選定基準 】
  • 処理フローをコードで管理
  • 処理が失敗したところからリトライ可能
  • 可用性
  • スケーラビリティ(並列実行・分散処理)
  • インターフェース(REST-API等)

選定基準もクリアしており注目度が高いプロダクトで、なにより私自身興味を持ったことがきっかけで Digdag を選定しました。

CDHクラスタ運用中にバージョンアップは行っていますか?

はい。スライド内のCDHクラスタ移行プロジェクト以前にも何度かバージョンアップを行っております。 今回わざわざ別クラスタを立てて移行を行ったのは、以下の要因により管理コスト増加が懸念されたためです。

  • HDD と SSD が混在する形になるため StoragePolicy による管理が必要となる
  • 1Node あたりのディスク容量が異なる状況となる

リソース増強にあたって SSD から HDD への変更で何か影響はあった?

今回は 57.5TB から 1.4PB へと大幅なリソース増強ということもあり、コスト面から HDD への換装という選択をしました。並行稼動中にジョブの実行時間を比較したところ、私達の環境では SSD から HDD への変更でパフォーマンスに大きな変化は見受けられませんでした。現在の本番稼働中においても特に影響はございません。

所感

今回の発表では、ビッグデータ部発足当初の基盤でどのような課題を抱えていて、それらの課題に対してどのような取り組みを行ってきたかをご紹介させて頂きました。

資料にもある通り、現在の基盤にも「リアルタイム性を重視したアーキテクチャになっていない」など様々な課題があるため、継続して改善に努めていきたいと考えております。

また、他の登壇者の方々の発表も非常に興味深いものばかりで良い刺激を頂いたので、私自身もビッグデータを活用して DMM のサービスをより盛り上げていこうと思いました!

今後も対外的に DMM.com ビッグデータ部での取り組みを媒体を問わず発信していきたいと思います!

f:id:dmmlabotech:20170911101426j:plain

さいごに

9月14日 (木) に「IoT女子会♪~IoT×海外事情 フランス・イタリア編~」を弊社オフィスにて開催致します!ご興味あるかたはご参加頂ければと思います! ※女性限定です

dmmcj.connpass.com

また、業務拡大により弊社ビッグデータ部は非常に人員が不足しております(´・ω・`)

多種多様な40以上のサービスを展開する DMM.com のデータが集約されているビッグデータ基盤を支える業務や、検索エンジンやレコメンデーションなどにビッグデータを活用する業務など、様々な経験を積むことが出来る環境が存在しております!

少しでもご興味のある方は、是非以下の採用ページをご覧になってみて下さい。