Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.
リクルートライフスタイルが
考える、万人に使ってもらえ
る分析基盤の作り方
PLAZMA Data Platform Day
#tdtech
2018/05/22
山田 雄
■山田 雄(ヤマダ ユウ)
株式会社 リクルートライフスタイル
ネットビジネス本部
データプラットフォームT
Twitter:@nii_yan
GitHub:https://github.com/yu-yamada
・以前はメールマーケティング...
会社紹介
データ分析基盤を作ってると
こういうことありませんか??
このサービスのデータも分析基盤に
連携して
ごめんなさい、今リソース不
足なんで、1ヶ月後に!
リアルタイムデータも分析できるよ
うにして欲しいんだけど!
ごめんなさい、検証から始め
ないとだから2ヶ月待って!
ちょっとどんなデータ入ってるか見
てみよう
select * from 巨大table limit 10;
パーティション指定しないとlimitつ
けてもフルスキャン走るんできちん
とパーティション指定して下さい!
いっちょcross joinでデータ取りま
すか!
結果何億件のデータが返ってくると思ってるの??
本当にこれ見る?Joinしてからデータ削るんじゃなくて、データ削って
からjoinしてくれる?
これのせいで、中間データでdisk食いつぶして他...
機械学習で結果出せて、表彰された
〜!賞金もゲット!
基盤があったからこそ出来た事なの
に、こっちは評価されない・・・
分析者(ユーザ)と
基盤運用者は衝突しがち
• データ分析基盤は使ってもらってなんぼ
• たくさん分析してもらって事業成果を上げてもらう
• たくさん分析してもらうには
 基盤を提供し続ける
 パフォーマンスを上げる
 データ品質を上げる
 新しいデータ連携の追加
 データ鮮度...
データを使ったビジネスの3大要素
きちんとみんなが使ってくれる基盤にす
るには、どうしたらよいだろう??
1.ユーザの
声を集める
(collect)
2.内容を精
査する
(confirm)
3.価値を創
造する
(create)
4.効果を検
証する
(check)
5.継続する
(continue)カスタマーセントリックで基盤を作る
1.ユーザの
声を集める
(collect)
2.内容を精
査する
(confirm)
3.価値を創
造する
(create)
4.効果を検
証する
(check)
5.継続する
(continue)
2.内容を精
査する
(confirm)
3.価値を創
造する
(create)
4.効果を検
証する
(check)
5.継続する
(continue)
1.ユーザの
声を集める
(collect)
人がシステムに合わせるのではなく、
システムが人に合わせる
なぜユーザーファーストにするのか
使ってくれる人がいないと分析基盤は継続しないから!
• とにかくユーザが使い易い基盤にする
• ユーザの声を常に聞ける環境を整える
• 攻めの基盤を作るのは信頼残高を築いてから!!
リクルートライフスタイルで取り組んでいること
• 問い合わせ用にslackのchannelを開設
• ユーザアンケートを行う
• 基盤を使う立場になる(マーケターに兼務で入る
など
• データを使うチームと同じグループになる
• 毎月メルマガ発...
機械的に取れるユーザの声も集める
• どのテーブルがどのユーザ使われているか
• どのクエリが負荷が高いか
• どのユーザがどれぐらいクエリを投げているか
• ユーザクエリの平均レスポンスタイム
• 社内snsなどでの基盤に対する声
1.ユーザの
声を集める
(collect)
3.価値を創
造する
(create)
4.効果を検
証する
(check)
5.継続する
(continue)
2.内容を精
査する
(confirm)
ユーザの表面的な言動だけを捉えず、そ
の背後にあるユーザ自身も気づいていな
い本音(インサイト)を探り当てる。
精査の方法
• 対応時間でレベル分けをする
• すぐに対応できるものと、対応に時間がかかる
ものを織り交ぜて対応する
(きちんと対応している姿勢を見せるため)
• なんで、ユーザがその声をあげたのかwhyを考える
• 表面的な対応を繰り返さない...
2.内容を精
査する
(confirm)
1.ユーザの
声を集める
(collect)
4.効果を検
証する
(check)
5.継続する
(continue)
3.価値を創
造する
(create)
なぜ売上を上げないといけないか
売上を上げないと予算がつかないから!
• 分析基盤はとにかくお金がかかる
• 予算はほぼ毎年純増(データ量に相関する場合が多い
• 売上が上がれば予算がつき、より良い基盤が作れる
• さらに売上が上がるバッチを走...
運用コストを下げる
なぜ運用コストを下げたいのか
運用は人を幸せにしないから!
• キャパシティ管理をしなくていいように
• ビックデータ基盤で将来のデータ量予測はほぼ不可能
• 障害が起きた際に単純に再実行できるデータパイプ
ラインを作る
• 冪等性を担保する
...
分析の敷居をとにかく下げる
• ユーザが分析したい時にすでにデータはある状態に
• ユーザの使いやすいIFを用意
• 定期的にユーザ教育を実施
• いつでも見られるように動画コンテンツも用意
するなど
• どこにどんなデータがあるか一元的に管理
使いやすいIF例(chat bot)
bot
S3
redshift
Slackにつぶやくことによって、S3のデータをredshiftへloadしてくれるbotを用意
メタ情報を一元的に管理
3.価値を創
造する
(create)
2.内容を精
査する
(confirm)
1.ユーザの
声を集める
(collect)
5.継続する
(continue)
4.効果を検
証する
(check)
KPIを設計する
• ユーザアカウント数
• クエリの数
• 平均レスポンス時間
• テーブル数
• 障害数
• botの使用回数
これらの数字を毎週チーム全員で確認
4.効果を検
証する
(check)
3.価値を創
造する
(create)
2.内容を精
査する
(confirm)
1.ユーザの
声を集める
(collect)
5.継続する
(continue)
継続をするためには進化が出来る基盤に
しておく必要がある
DataLake構成
なぜDataLake構成にしておくのか
進化を続けられる基盤になれる
• 新しいDWHがどんどん出てきている
• 用途によって使いたいDWHは違う
• スケールアウト出来る分析基盤に対応
• サイズ制限からの解放
データレイクにしておくことによ...
DataLakeの三段構成
Raw Normalized Mart
非構造データ
Rawデータ
TSVやParquetなど、
構造化されたデータ
使い易いようにマー
ト加工されたデータ
透明性のある湖に
常に透明性を持った基盤にしておく
データを情報に変えてより多くの
ユーザに動機と機会を提供する
1.ユーザの
声を集める
(collect)
2.内容を精
査する
(confirm)
3.価値を創
造する
(create)
4.効果を検
証する
(check)
5.継続する
(continue)一時的で終わらないサイクルを
リクルートライフスタイルの分析基盤
リクルートライフスタイルが持つデータ
HPB HPG
JLN
事業データ
CSV
外部データ
S3
Redshift
Redshift (mirror)
BigQuery
Cloud Storage
アクセスログ
アプリログ Treasure Data
ORACLE
Exadata...
入力 出力処理
データ利活用の3大要素
HPB HPG
JLN
事業データ
CSV
外部データ
S3
Redshift
Redshift (mirror)
BigQuery
Cloud Storage
アクセスログ
アプリログ Treasure Data
ORACLE
Exadata...
BigQuery
Cloud Storage
アプリログ Treasure Data
ExaData
CSV
外部データ
S3
Redshift
Redshift (mirror)
アクセスログ
ORACLE
Exadata
事業データ
HPB...
BigQuery
Cloud Storage
アプリログ Treasure Data
Redshift
ORACLE
Exadata
CSV
外部データ
S3
Redshift
Redshift (mirror)
アクセスログ
事業データ
HP...
Redshift Spectrumの活用
S3
DB1
DB3
DB2
AWS Glue
lambda
Redshift
S3
Redshift
Redshift
TSV Parquet
ファイルサイズ大
ファイルサイズ小
S3のObjectを...
Redshift
Redshift (mirror)
アプリログ Treasure Data
BigQuery
ORACLE
Exadata
CSV
外部データ
S3
アクセスログ
事業データ
HPB HPG
JLN
BigQuery
Clou...
BigQueryへのロード
Redshift
Redshift (mirror)
TreasureData
ORACLE
Exadata
CSV
外部データ
S3
アクセスログ
事業データ
HPB HPG
JLN
BigQuery
Cloud Storage
アプリログ ...
TreasureData ETL
Treasure Data
Redshift
BigQuery
外部サービスとの連携用にもTreasureDataを使用
行動ログデータや事業データの
レコード総数
約4,500億件
ユーザアカウント数
1,200
クエリ数
20,000/day
テーブル数(データマートも含む)
約4,000
利用状況
カスタマーセントリックで
透明性のある基盤を
継続して提供しましょう
一緒にデータ基盤作ってくれる人募集中!!!
リクルートライフスタイルが考える、万人に使ってもらえる分析基盤の作り方
Prochain SlideShare
Chargement dans…5
×

リクルートライフスタイルが考える、万人に使ってもらえる分析基盤の作り方

5 164 vues

Publié le

リクルートライフスタイルでは大小30ほどのサービスを提供しており、それらのデータを横断的に分析出来る分析基盤を有しています。 データの利活用が推進されている昨今ですが、分析基盤を作っただけでは分析者はなかなか使ってくれません。 また、使っている分析者の要求は日々増していきます。 継続的に使ってもらえる分析基盤を構築、運用するためにはどのようにすれば良いのか? 弊社の事例を踏まえて紹介させていただきます。

リクルートライフスタイル 山田 雄(ヤマダ ユウ)

Publié dans : Données & analyses
  • Login to see the comments

リクルートライフスタイルが考える、万人に使ってもらえる分析基盤の作り方

  1. 1. リクルートライフスタイルが 考える、万人に使ってもらえ る分析基盤の作り方 PLAZMA Data Platform Day #tdtech 2018/05/22 山田 雄
  2. 2. ■山田 雄(ヤマダ ユウ) 株式会社 リクルートライフスタイル ネットビジネス本部 データプラットフォームT Twitter:@nii_yan GitHub:https://github.com/yu-yamada ・以前はメールマーケティング用基盤の作成からデータ分析まで関わる 現在はリクルートライフスタイルの共通分析基盤の開発、運用全般を担当 ビックデータ、Ruby、お祭り、ビール、カップ焼きそばが好き。 自己紹介
  3. 3. 会社紹介
  4. 4. データ分析基盤を作ってると こういうことありませんか??
  5. 5. このサービスのデータも分析基盤に 連携して ごめんなさい、今リソース不 足なんで、1ヶ月後に!
  6. 6. リアルタイムデータも分析できるよ うにして欲しいんだけど! ごめんなさい、検証から始め ないとだから2ヶ月待って!
  7. 7. ちょっとどんなデータ入ってるか見 てみよう select * from 巨大table limit 10; パーティション指定しないとlimitつ けてもフルスキャン走るんできちん とパーティション指定して下さい!
  8. 8. いっちょcross joinでデータ取りま すか! 結果何億件のデータが返ってくると思ってるの?? 本当にこれ見る?Joinしてからデータ削るんじゃなくて、データ削って からjoinしてくれる? これのせいで、中間データでdisk食いつぶして他の処理落ちたんだけ ど!!こいつのアカウントXXXしてぇ~
  9. 9. 機械学習で結果出せて、表彰された 〜!賞金もゲット! 基盤があったからこそ出来た事なの に、こっちは評価されない・・・
  10. 10. 分析者(ユーザ)と 基盤運用者は衝突しがち
  11. 11. • データ分析基盤は使ってもらってなんぼ • たくさん分析してもらって事業成果を上げてもらう • たくさん分析してもらうには  基盤を提供し続ける  パフォーマンスを上げる  データ品質を上げる  新しいデータ連携の追加  データ鮮度を保つ&上げる データ分析基盤で提供したい価値
  12. 12. データを使ったビジネスの3大要素
  13. 13. きちんとみんなが使ってくれる基盤にす るには、どうしたらよいだろう??
  14. 14. 1.ユーザの 声を集める (collect) 2.内容を精 査する (confirm) 3.価値を創 造する (create) 4.効果を検 証する (check) 5.継続する (continue)カスタマーセントリックで基盤を作る
  15. 15. 1.ユーザの 声を集める (collect) 2.内容を精 査する (confirm) 3.価値を創 造する (create) 4.効果を検 証する (check) 5.継続する (continue)
  16. 16. 2.内容を精 査する (confirm) 3.価値を創 造する (create) 4.効果を検 証する (check) 5.継続する (continue) 1.ユーザの 声を集める (collect)
  17. 17. 人がシステムに合わせるのではなく、 システムが人に合わせる
  18. 18. なぜユーザーファーストにするのか 使ってくれる人がいないと分析基盤は継続しないから! • とにかくユーザが使い易い基盤にする • ユーザの声を常に聞ける環境を整える • 攻めの基盤を作るのは信頼残高を築いてから!!
  19. 19. リクルートライフスタイルで取り組んでいること • 問い合わせ用にslackのchannelを開設 • ユーザアンケートを行う • 基盤を使う立場になる(マーケターに兼務で入る など • データを使うチームと同じグループになる • 毎月メルマガ発行をする • 社内散歩をする などなどを行いユーザと仲良くする!
  20. 20. 機械的に取れるユーザの声も集める • どのテーブルがどのユーザ使われているか • どのクエリが負荷が高いか • どのユーザがどれぐらいクエリを投げているか • ユーザクエリの平均レスポンスタイム • 社内snsなどでの基盤に対する声
  21. 21. 1.ユーザの 声を集める (collect) 3.価値を創 造する (create) 4.効果を検 証する (check) 5.継続する (continue) 2.内容を精 査する (confirm)
  22. 22. ユーザの表面的な言動だけを捉えず、そ の背後にあるユーザ自身も気づいていな い本音(インサイト)を探り当てる。
  23. 23. 精査の方法 • 対応時間でレベル分けをする • すぐに対応できるものと、対応に時間がかかる ものを織り交ぜて対応する (きちんと対応している姿勢を見せるため) • なんで、ユーザがその声をあげたのかwhyを考える • 表面的な対応を繰り返さないため
  24. 24. 2.内容を精 査する (confirm) 1.ユーザの 声を集める (collect) 4.効果を検 証する (check) 5.継続する (continue) 3.価値を創 造する (create)
  25. 25. なぜ売上を上げないといけないか 売上を上げないと予算がつかないから! • 分析基盤はとにかくお金がかかる • 予算はほぼ毎年純増(データ量に相関する場合が多い • 売上が上がれば予算がつき、より良い基盤が作れる • さらに売上が上がるバッチを走らせられる • ROIは計算しなくて良い • インフラってそんなもんだと思います • この基盤があるおかげでこんだけ売上の上がるバッチが 走ってるんだよ〜ぐらいで
  26. 26. 運用コストを下げる
  27. 27. なぜ運用コストを下げたいのか 運用は人を幸せにしないから! • キャパシティ管理をしなくていいように • ビックデータ基盤で将来のデータ量予測はほぼ不可能 • 障害が起きた際に単純に再実行できるデータパイプ ラインを作る • 冪等性を担保する • クラウドに任せるところは任せる • 魔改造しない • SLAを緩くする
  28. 28. 分析の敷居をとにかく下げる • ユーザが分析したい時にすでにデータはある状態に • ユーザの使いやすいIFを用意 • 定期的にユーザ教育を実施 • いつでも見られるように動画コンテンツも用意 するなど • どこにどんなデータがあるか一元的に管理
  29. 29. 使いやすいIF例(chat bot) bot S3 redshift Slackにつぶやくことによって、S3のデータをredshiftへloadしてくれるbotを用意
  30. 30. メタ情報を一元的に管理
  31. 31. 3.価値を創 造する (create) 2.内容を精 査する (confirm) 1.ユーザの 声を集める (collect) 5.継続する (continue) 4.効果を検 証する (check)
  32. 32. KPIを設計する • ユーザアカウント数 • クエリの数 • 平均レスポンス時間 • テーブル数 • 障害数 • botの使用回数 これらの数字を毎週チーム全員で確認
  33. 33. 4.効果を検 証する (check) 3.価値を創 造する (create) 2.内容を精 査する (confirm) 1.ユーザの 声を集める (collect) 5.継続する (continue)
  34. 34. 継続をするためには進化が出来る基盤に しておく必要がある
  35. 35. DataLake構成
  36. 36. なぜDataLake構成にしておくのか 進化を続けられる基盤になれる • 新しいDWHがどんどん出てきている • 用途によって使いたいDWHは違う • スケールアウト出来る分析基盤に対応 • サイズ制限からの解放 データレイクにしておくことによって、新しいエン ジンや新しいニーズが出てきた際も柔軟に対応出来 る、進化を続ける基盤となれる
  37. 37. DataLakeの三段構成 Raw Normalized Mart 非構造データ Rawデータ TSVやParquetなど、 構造化されたデータ 使い易いようにマー ト加工されたデータ
  38. 38. 透明性のある湖に
  39. 39. 常に透明性を持った基盤にしておく
  40. 40. データを情報に変えてより多くの ユーザに動機と機会を提供する
  41. 41. 1.ユーザの 声を集める (collect) 2.内容を精 査する (confirm) 3.価値を創 造する (create) 4.効果を検 証する (check) 5.継続する (continue)一時的で終わらないサイクルを
  42. 42. リクルートライフスタイルの分析基盤
  43. 43. リクルートライフスタイルが持つデータ
  44. 44. HPB HPG JLN 事業データ CSV 外部データ S3 Redshift Redshift (mirror) BigQuery Cloud Storage アクセスログ アプリログ Treasure Data ORACLE Exadata リクルートライフスタイルのデータ分析基盤
  45. 45. 入力 出力処理 データ利活用の3大要素
  46. 46. HPB HPG JLN 事業データ CSV 外部データ S3 Redshift Redshift (mirror) BigQuery Cloud Storage アクセスログ アプリログ Treasure Data ORACLE Exadata 入力 出力処理 リクルートライフスタイルのデータ分析基盤
  47. 47. BigQuery Cloud Storage アプリログ Treasure Data ExaData CSV 外部データ S3 Redshift Redshift (mirror) アクセスログ ORACLE Exadata 事業データ HPB HPG JLN
  48. 48. BigQuery Cloud Storage アプリログ Treasure Data Redshift ORACLE Exadata CSV 外部データ S3 Redshift Redshift (mirror) アクセスログ 事業データ HPB HPG JLN
  49. 49. Redshift Spectrumの活用 S3 DB1 DB3 DB2 AWS Glue lambda Redshift S3 Redshift Redshift TSV Parquet ファイルサイズ大 ファイルサイズ小 S3のObjectを直接参照出来るSpectrumを使用するこ とで、クラスタサイズの圧縮を行い、用途毎にクラス タを立てることで、ユーザの利便性を上げる
  50. 50. Redshift Redshift (mirror) アプリログ Treasure Data BigQuery ORACLE Exadata CSV 外部データ S3 アクセスログ 事業データ HPB HPG JLN BigQuery Cloud Storage
  51. 51. BigQueryへのロード
  52. 52. Redshift Redshift (mirror) TreasureData ORACLE Exadata CSV 外部データ S3 アクセスログ 事業データ HPB HPG JLN BigQuery Cloud Storage アプリログ Treasure Data
  53. 53. TreasureData ETL Treasure Data Redshift BigQuery 外部サービスとの連携用にもTreasureDataを使用
  54. 54. 行動ログデータや事業データの レコード総数 約4,500億件 ユーザアカウント数 1,200 クエリ数 20,000/day テーブル数(データマートも含む) 約4,000 利用状況
  55. 55. カスタマーセントリックで 透明性のある基盤を 継続して提供しましょう
  56. 56. 一緒にデータ基盤作ってくれる人募集中!!!

×