Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

リクルートライフスタイルの売上を支える共通分析基盤

462 views

Published on

分析基盤をどのようにして続けていき、進化させていくのか。
弊社ではDWHとしてRedshift、Netezza、Treasuredata、BigQueryを使っていますが、使用事例を交えて紹介します。
山田 雄(株式会社リクルートライフスタイル)

Published in: Technology
  • Be the first to comment

  • Be the first to like this

リクルートライフスタイルの売上を支える共通分析基盤

  1. 1. リクルートライフスタイルの 売上を支える共通分析基盤 RLS Meetup #3 07/05 2017 山田 雄 ネットビジネス本部 データ基盤チーム
  2. 2. 1.自己紹介 2.分析基盤の続け方 3.リクルートライフスタイルの分析基盤 4.あとがき 本日のアジェンダ
  3. 3. 1.自己紹介 2.分析基盤の続け方 3.リクルートライフスタイルの分析基盤 4.あとがき 本日のアジェンダ
  4. 4. ■山田 雄(ヤマダ ユウ) 株式会社 リクルートライフスタイル ネットビジネス本部 データ基盤T Twitter:@nii_yan GitHub:https://github.com/yu-yamada ・以前はフリーランスエンジニア 縁があってリクルートライフスタイルにお世話になることになった。 ビックデータ、Ruby、ビール、カップ焼きそばが好き。 自己紹介
  5. 5. 会社紹介
  6. 6. Engineering for data Business with data 技術でビジネスを ドライブする Stable Infrastructure Continual Innovation+ リクルートライフスタイルにおけるエンジニアの役割
  7. 7. みなさんカップ焼きそば食べ てますか?
  8. 8. ある朝会社に来てみると・・・
  9. 9. (つд⊂)ゴシゴシ ショートケー キだと!?
  10. 10. 出来ればご飯 と食べたかっ たな・・・
  11. 11. すっぱさが焼 きそばとマッ チしてめっ ちゃ箸進む!
  12. 12. すっぱくて、臭くてまずい!
  13. 13. チョコに振り 切れていない
  14. 14. 脂っこいけど うまい!!
  15. 15. わさびが強す ぎて、食べよ うとするだけ で泣いたToT
  16. 16. なんでメーカーはこんな変な 味の焼きそばを出すのか?
  17. 17. 実はマーケティング的な戦略 が裏にはあった
  18. 18. 昔カップ焼きそば食べた ことあるけど、もう食べて ないユーザ よくカップ焼きそば食べ るけど色々派 たまにカップ焼きそば食 べるけど固定派 よくカップ焼きそば食べ る固定派
  19. 19. 昔カップ焼きそば食べた ことあるけど、もう食べて ないユーザ よくカップ焼きそば食べ るけど色々派 たまにカップ焼きそば食 べるけど固定派 よくカップ焼きそば食べ る固定派
  20. 20. 1.自己紹介 2.分析基盤の続け方 3.DWHの選定方法 4.リクルートライフスタイルの分析基盤 5.あとがき 本日のアジェンダ
  21. 21. #1 ユーザーファーストの基盤を作る
  22. 22. なぜユーザーファーストにするのか 使ってくれる人がいないと分析基盤は継続しないか ら! • とにかくユーザが使い易い基盤にする • 新しい技術使いたいからとかエンジニア善がりの基盤 はNG(IFがAPIのみとか • ユーザの声を常に聞ける環境を整える
  23. 23. リクルートライフスタイルで取り組んでいること • 問い合わせ用にslackのchannelを開設 • ユーザアンケートを行う • 基盤を使う立場になる(マーケターに兼務で入るなど • データを使うチームを近くに置く • 毎月メルマガ発行をする • 社内散歩をする などなどを行いユーザと仲良くする!
  24. 24. #2 売上の上がる施策バッチを走らせる
  25. 25. なぜ売上を上げないといけないか 売上を上げないと予算がつかないから! • 分析基盤はとにかくお金がかかる • 予算はほぼ毎年純増(データ量に相関する場合が多い • 売上が上がれば予算がついて、より良い基盤が作れる • さらに売上が上がるバッチを走らせられる • ROIは計算しなくて良い • インフラってそんなもんだと思います • この基盤があるおかげでこんだけ売上の上がるバッチが走っ てるんだよ〜ぐらいで • KPIは持ちましょう
  26. 26. #3 運用コストを下げる
  27. 27. なぜ運用コストを下げたいのか 運用は人を幸せにしないから! • キャパシティ管理をしなくていいように • ビックデータ基盤で将来のデータ量予測はほぼ不可能 • 障害が起きた際に単純に再実行できるデータパイプラ インを作る • 冪等性を担保する • クラウドに任せるところは任せる • 魔改造しない • SLAを緩くする
  28. 28. #4 ユーザの教育を行う
  29. 29. なぜユーザ教育を行うのか 双方の幸せのため • DWHごとに最適なクエリの書き方があるが、ユーザは 特に意識せずに負荷の高いクエリを投げる場合がある • DWH全体の負荷が上がり、ユーザ全員に影響する • クエリ課金のエンジン使っていた際は目も当てられない • RedshiftなどRDBの用に使えるが、決して使ってはいけ ない • Index無い • 正規化しない方がいい • カラムナ?なにそれおいしいの? • パーティション?机の前にあるやつ? • order byとかcount(distinct)とかコストの高いクエリ多様
  30. 30. リクルートライフスタイルで取り組んでいること • 半期に1度の勉強会 • おもにその半年間の新規参画者向け • Redshiftについて • TreasureDataについて • BigQueryについて • Tableauについて • DataRobotについて・・・など数回に分けて実施
  31. 31. #5 データレイク構成にしておく
  32. 32. なぜデータレイク構成にしておくのか 進化を続けられる基盤になれる • 新しいエンジンがどんどん出てきている • 用途によって使いたいエンジンは違う • スケールアウト出来る分析基盤に対応 • サイズ制限からの解放 データレイクにしておくことによって、新しいエンジンや新 しいニーズが出てきた際も柔軟に対応出来る、進化を続 ける基盤となれる
  33. 33. 1.自己紹介 2.分析基盤の続け方 3.リクルートライフスタイルの分析基盤 4.あとがき 本日のアジェンダ
  34. 34. リクルートライフスタイルの持つデータ
  35. 35. リクルートライフスタイルの分析基盤 DWH HPB JLN HPG ・・・ 各事業データ 施策Batch用 Netezza サイトログ保存用 TreasureData Adhoc分析用 Redshift 外部データ TSV CSV 3 行動ログ SDK Adhoc分析用 Redshift AWS S3 S3 S3 GCP 模索中 BigQuery
  36. 36. リクルートライフスタイルの分析基盤 DWH HPB JLN HPG ・・・ 各事業データ 施策Batch用 Netezza サイトログ保存用 TreasureData Adhoc分析用 Redshift 外部データ TSV CSV 3 行動ログ SDK Adhoc分析用 Redshift AWS S3 S3 S3 GCP 模索中 BigQuery 事業データや、サイトの行動ログを日次 DWHに連携し、横断的に分析できる環境を ユーザに提供
  37. 37. リクルートライフスタイルの分析基盤 DWH HPB JLN HPG ・・・ 各事業データ 施策Batch用 Netezza サイトログ保存用 TreasureData Adhoc分析用 Redshift 外部データ TSV CSV 3 行動ログ SDK Adhoc分析用 Redshift AWS S3 S3 S3 GCP 模索中 BigQuery 各事業のデータを日次バッチで連携 連携テーブル数2000以上 1度フラットファイルにしてからS3に uploadして、Redshiftにload
  38. 38. リクルートライフスタイルの分析基盤 DWH HPB JLN HPG ・・・ 各事業データ 施策Batch用 Netezza サイトログ保存用 TreasureData Adhoc分析用 Redshift 外部データ TSV CSV 3 行動ログ SDK Adhoc分析用 Redshift AWS S3 S3 S3 GCP 模索中 BigQuery DB以外のデータも連携したいという要 望があるので、S3をIFとして連携
  39. 39. リクルートライフスタイルの分析基盤 DWH HPB JLN HPG ・・・ 各事業データ 施策Batch用 Netezza サイトログ保存用 TreasureData Adhoc分析用 Redshift 外部データ TSV CSV 3 行動ログ SDK Adhoc分析用 Redshift AWS S3 S3 S3 GCP 模索中 BigQuery サイトの行動ログは1度TreasureData に入れた後、マートを作成し、マートの みRedshift,Netezzaへ連携
  40. 40. リクルートライフスタイルの分析基盤 DWH HPB JLN HPG ・・・ 各事業データ 施策Batch用 Netezza サイトログ保存用 TreasureData Adhoc分析用 Redshift 外部データ TSV CSV 3 行動ログ SDK Adhoc分析用 Redshift AWS S3 S3 S3 GCP 模索中 BigQuery IFをS3に統一することにより、S3をデー タレイクとして使用
  41. 41. リクルートライフスタイルの分析基盤 DWH HPB JLN HPG ・・・ 各事業データ 施策Batch用 Netezza サイトログ保存用 TreasureData Adhoc分析用 Redshift 外部データ TSV CSV 3 行動ログ SDK Adhoc分析用 Redshift AWS S3 S3 S3 GCP 模索中 BigQuery Netezzaは売上に直結する施策バッチ を走らせる環境 一般ユーザには解放しないことによっ てアドホッククエリの影響を受けない 環境を作っている
  42. 42. リクルートライフスタイルの分析基盤 DWH HPB JLN HPG ・・・ 各事業データ 施策Batch用 Netezza サイトログ保存用 TreasureData Adhoc分析用 Redshift 外部データ TSV CSV 3 行動ログ SDK Adhoc分析用 Redshift AWS S3 S3 S3 GCP 模索中 BigQuery ユーザに一般開放している環境 日次更新されてデータ鮮度は高いが、常に loadとupdateが走っているため負荷が高い 日次1500テーブルのload,1000テーブルの updateが走っている 負荷が高くて単純なselectにも時間がかか る・・・orz 負荷は高くてもいいから鮮度の高いデータが 欲しいユーザ向け RedshiftはCRUDが使えるので、ユーザも使い 易い
  43. 43. リクルートライフスタイルの分析基盤 DWH HPB JLN HPG ・・・ 各事業データ 施策Batch用 Netezza サイトログ保存用 TreasureData Adhoc分析用 Redshift 外部データ TSV CSV 3 行動ログ SDK Adhoc分析用 Redshift AWS S3 S3 S3 GCP 模索中 BigQuery ユーザに一般開放している環境 左のクラスタのsnapshotから週次で作成 データ鮮度は古いがload,updateが走らないた め負荷が低く、快適にクエリが投げられる 使われないデータは削除し、データ量的に最小 のクラスタ構成としている 鮮度は古いデータでもいいが、負荷の低い環境 を使いたいユーザ向け クエリの実行テストにも使われる
  44. 44. リクルートライフスタイルの分析基盤 DWH HPB JLN HPG ・・・ 各事業データ 施策Batch用 Netezza サイトログ保存用 TreasureData Adhoc分析用 Redshift 外部データ TSV CSV 3 行動ログ SDK Adhoc分析用 Redshift AWS S3 S3 S3 GCP 模索中 BigQuery 鮮度の高いデータを付き合わせたい時のために、 slackでテーブル名を呟くとS3のデータをloadしてく れるbotを用意 ユーザ主体でload出来ることによって運用コスト 削減
  45. 45. リクルートライフスタイルの分析基盤 DWH HPB JLN HPG ・・・ 各事業データ 施策Batch用 Netezza サイトログ保存用 TreasureData Adhoc分析用 Redshift 外部データ TSV CSV 3 行動ログ SDK Adhoc分析用 Redshift AWS S3 S3 S3 GCP 模索中 BigQuery サイトカタリストの生ログやアプリのSDKログをた めている 毎月約100億レコード増加 運用は全て任せられるので、運用コストが低い
  46. 46. リクルートライフスタイルの分析基盤 DWH HPB JLN HPG ・・・ 各事業データ 施策Batch用 Netezza サイトログ保存用 TreasureData Adhoc分析用 Redshift 外部データ TSV CSV 3 行動ログ SDK Adhoc分析用 Redshift AWS S3 S3 S3 GCP 模索中 BigQuery サイトカタリストのログ、Redshiftに入っている データを入れ、TreasureData、Redshiftを掛け合 わせた環境になれないか模索中 キャパシティ管理をしなくて良いので運用コスト が低い
  47. 47. リクルートライフスタイルの分析基盤 DWH HPB JLN HPG ・・・ 各事業データ 施策Batch用 Netezza サイトログ保存用 TreasureData Adhoc分析用 Redshift 外部データ TSV CSV 3 行動ログ SDK Adhoc分析用 Redshift AWS S3 S3 S3 GCP 模索中 BigQuery 約300人のユーザが、自分にあった環境を使い、 日々データの分析を行っている データサイエンティスト、マーケター、ディレクター、 営業と様々な職種の人が分析基盤を使用 Tableauを用意することにより、クエリが書けない 人でも利用が出来る
  48. 48. リクルートライフスタイルの分析基盤 DWH HPB JLN HPG ・・・ 各事業データ 施策Batch用 Netezza サイトログ保存用 TreasureData Adhoc分析用 Redshift 外部データ TSV CSV 3 行動ログ SDK Adhoc分析用 Redshift AWS S3 S3 S3 GCP 模索中 BigQuery 約300人のユーザが、自分にあった環境を使い、 日々データの分析を行っている データサイエンティスト、マーケター、ディレクター、 営業と様々な職種の人が分析基盤を使用 Tableauを用意することにより、クエリが書けない 人でも利用が出来る 約300人のユーザが、自分にあった環境を使い、 日々データの分析を行っている データサイエンティスト、マーケター、ディレクター、 営業と様々な職種の人が分析基盤を使用 Tableauを用意することにより、クエリが書けない 人でも利用が出来る DWHに集まったデータを使い、SPSSやRでデータ 分析をし、CMSなどに連携することで売り上げを 上げる施策を走らせている メルマガのOnetoOne ユーザ毎の広告の出しわけ ポイント付与など・・・
  49. 49. ETLフレームワーク 独自で実装した ETLのフレームワークを用意し、SQLと YAMLを作るだけでデータの移動を出来るようにしている
  50. 50. フレームワークで出来ること
  51. 51. Redshift運用Tips Redshiftの負荷は cloudwatchでは見られる 範囲が狭いため、独自に 監視用dashboardを作成 Redshiftへの負荷を減ら すため、RDSにマテビュー を作成し、RDSから負荷 状況データ取得 stl_query stl_s3client stl_wlm_qu ery etc… stv_recents stl_insert pg_database stl_scan MATERIALIZED VIEW PostgreSQL Redshift
  52. 52. 負荷監視用Dashboard
  53. 53. Meta情報管理
  54. 54. Meta情報管理 事業DBやDWH、Adobe Analyticsのメタデータを日次 で連携し、どのテーブルはどんな定義でどんなデータ が入ってるいるのかを一元的に管理。 また、カラムに対してのコメント機能もあるため、単純 なDDLよりもわかりやすい情報が載っている。
  55. 55. DynamoDB Lambda API Gateway Kafka on-premises Configuration Management Monitoring Grafana リアルタイムデータを扱う基盤
  56. 56. DynamoDB Lambda API Gateway on-premises Configuration Management Monitoring Grafana Kafka データハブ基盤
  57. 57. Lambda API Gateway on-premises Configuration Management Monitoring Grafana Kafka DynamoDB ストリーム処理基盤
  58. 58. Kafka on-premises Configuration Management Monitoring Grafana DynamoDB Lambda API Gateway データ提供部分(API)
  59. 59. 1.自己紹介 2.分析基盤の続け方 3.リクルートライフスタイルの分析基盤 4.あとがき 本日のアジェンダ
  60. 60. どんな人が分析基盤に向いて いるか?
  61. 61. よく言われるT字型のエンジニア
  62. 62. よく言われるT字型のエンジニア 分析基盤では基盤の知識はもとより、開発力、分析 力、マーケティング知識、ビジネス力、コミュ力、語学 力などなど様々なスキルが必要になってくるので、T 字型のエンジニアは向いていない。
  63. 63. 目指したい形 命名:つらら型エンジニア
  64. 64. 目指したい形 命名:つらら型エンジニア T字型にプラスして他の分野もそこそこ深ぼれるエン ジニア。
  65. 65. つらら型エンジニアを目指しな がら一緒に酒飲んでくれる人 募集中!
  66. 66. ご清聴ありがとうございました

×