SlideShare a Scribd company logo
1 of 29
(C) Recruit Holdings Co.,Ltd. All rights reserved.
巨大なサービスと膨大なデータを支えるプラットフォーム
~リクルートでの Google BigQuery の活用とは?~
2018/3/8
Cloud Days2018 <関西> KEY NOTE
(C) Recruit Holdings Co.,Ltd. All rights reserved.
自己紹介
{"ID" :"fetaro"
"名前":"渡部 徹太郎"
"研究":"東京工業大学でデータベースと情報検索の研究
(@日本データベース学会)"
"仕事":{前職:["証券会社のオンライントレードシステムのWeb基盤",
"オープンソースなら何でも。主にMongoDB,NoSQL"],
現職:["リクルートの分析基盤,Exadata,BigQuery,EMR"]
副業:["ビッグデータコンサルタント", "非常勤講師" ]}
"エディタ":"emacs派",
"趣味": ["自宅サーバ","麻雀"]
}
(C) Recruit Holdings Co.,Ltd. All rights reserved.
目次
■ データプラットフォームの紹介
■ BigQuery の使い所
(C) Recruit Holdings Co.,Ltd. All rights reserved.
データプラットフォームの紹介
(C) Recruit Holdings Co.,Ltd. All rights reserved.
リクルートの事業領域
ライフイベント ライフスタイル
旅行
ライフスタイル
健康・美容
就職
結婚
転職
不動産
自動車
出産
教育
「ゆりかごから墓場まで」
(C) Recruit Holdings Co.,Ltd. All rights reserved.
リクルートのビジネスモデル
■ リボンモデル
(C) Recruit Holdings Co.,Ltd. All rights reserved.
リクルートのビジネスモデル
クライアント
カスタマ
集める
集める
動かす
動かす
結ぶ
(C) Recruit Holdings Co.,Ltd. All rights reserved.
ビッグデータの活用箇所
カスタマ クライアント
①集客のコスト削減
・メール・広告最適化
・ポイント付与最適化
③クライアント業務支援
・レポーティング
④KPI可視化
データドリブンな意思決定支援
②マッチング率向上
・UI/UX改善
・レコメンデーション
(C) Recruit Holdings Co.,Ltd. All rights reserved.
リクルートホールディングス データ・AI戦略統括部
リクルート
ホールディングス
リクルートキャリア
リクルート住まいカンパニー
リクルートライフスタイル
リクルートジョブズ
リクルートスタッフィング
リクルートマーケティングパートナーズ
・・・
リクルート テクノロジーズ
リクルートアドミニストレーション
リクルートコミュニケーションズ
事業会社
機能会社
データ・AI
戦略統括部
(C) Recruit Holdings Co.,Ltd. All rights reserved.
Recruit ID・リクルートポイント
■ 共通IDで行動を把握・分析。共通ポイントの付与
横断データ基盤
Recruit ID
(C) Recruit Holdings Co.,Ltd. All rights reserved.
横断データ基盤
(C) Recruit Holdings Co.,Ltd. All rights reserved.
横断データ基盤の構成要素
12
ポイント・メール・
広告
マスタデータRecruit
Service
Web・
アプリ
Exadata
RDS
S3
行動データ
API提供
集計/予測/分類
アドホック分析/データ共有
出力蓄積
データアプリケーション
Google Cloud Storage
Spanner
収集
・
・
・
50サイト
加工
セグメント抽出
BigQuery
BI・レポート
GKE k8s
(C) Recruit Holdings Co.,Ltd. All rights reserved.
横断データ基盤のプロファイル
■ データ
● データ量:2,000+TB
● サービス:50
● データベース:160
● テーブル:8000
■ 処理
● サーバ数:200+
● ジョブ数:10000
● クエリ数: 100,000,000/月
■ 体制
● 分析環境利用者数:400人
● 開発者数:87人
13
(C) Recruit Holdings Co.,Ltd. All rights reserved.
横断データ基盤の典型的な処理パターン
■ サイト横断でデータを取得、機械学習によりユーザを推定、
メール・ポイント最適化、UI/UX改善に利用する
14
Aサイト
行動
データ
Exadata
マスター
データ
S3
Web
機械学習による
属性推定
個人情報マスク
名寄せ
DWH化
API化
推定結果の
格納
Exadata
リスト作成
メール
ポイント
最適化
UI/UX
改善
ブ
ラ
ウ
ザ
Point
Aサイトに訪れたこと無いユーザでも、
Bサイトの情報から属性を推定できる
Bサイト
(C) Recruit Holdings Co.,Ltd. All rights reserved.
プラットフォームだけでなくデータガバナンスを強化
■ データガバナンス
● メタデータ管理 ・・・ できてる!
● データフロー管理 ・・・ できてきた!
● データ品質管理 ・・・ これから
15
(C) Recruit Holdings Co.,Ltd. All rights reserved.
メタデータ管理
■ メタデータ可視化Web
● データを探す機能
• データベース一覧・テーブル一覧
• キーワード検索
• 名前が似ているテーブル
● データの意味を知る機能
• テーブル定義
• コード値
• 利用者のコメント
• よく利用しているユーザ
● データの関係を知る機能
• 外部参照一覧
• JOINされることが多いテーブル
● データの変化を知る機能
• テーブル定義変更検知・通知 16
Web
アプリ
OLTP
DB
分析
DB
Web
アプリ
OLTP
DB
Web
アプリ
OLTP
DB
メタデータ可視化Web
リクルートのほぼ全サイトで導入
OLTP DB, 分析DBの両方から情報を収集
(C) Recruit Holdings Co.,Ltd. All rights reserved.
データフロー管理
■ データとジョブの関係を可視化
● データ数:7000
ジョブ数:800
■ 用途
● 障害発生時の影響調査
● 処理設計時のインプット
■ 管理方法
● YAMLをgitで管理 17
データマー
ト
ETL マート化
データマ
ート
マート化
DWH
src
src ETL
レポート
アプリケーション
ジョブコントローラ
独自Webアプリを開発
(C) Recruit Holdings Co.,Ltd. All rights reserved.
データ品質管理
■ データ品質
● データの鮮度
● データの正確性(欠損、重複はないか)
● など
■ できていること
● アプリケーション個別に件数チェック、重複チェック
■ やりたいこと
● プラットフォーム全体でデータ品質管理プラットフォームを準備
● データの重要度によってデータ品質チェックの量を変える
18
(C) Recruit Holdings Co.,Ltd. All rights reserved.
BigQuery の使い所
(C) Recruit Holdings Co.,Ltd. All rights reserved.
分析用SQLエンジンの進化
20
RDB(OLTP) RDB(DWH)
SQL on
Hadoop
Redshift
• MPP
• 専用のハードウェア
• 大量のディスク
• ロード・抽出・集計
に特化
• 汎用的なハードウ
ェア
• 無限にスケール
• UPDATE /
DELETEを捨てる
• クエリ毎にリソー
スの動的割当
Impara
Athena
2004年
(Google)
2012年
(Google)
BigQuery
(C) Recruit Holdings Co.,Ltd. All rights reserved.
BigQueryとは
■ BigQuery とは
● Google がHadoop(Hive)を進化させて作った分散SQLエンジン
● クエリ課金
● 速度が別格(1TBを1秒でスキャン)
● GROUP BYやJOIN等の重い処理は、処理量に合わせて計算ノードを動的に割り
当てて実行。利用できるノードは1000台以上
21
分散ストレージ Colossus File System
シャード シャード シャード シャード シャード
ミキサー ミキサー ミキサー
ルート
ミキサー
参考)オライリー・ジャパン社「BigQuery」
(C) Recruit Holdings Co.,Ltd. All rights reserved.
BigQuery をどこで使うか
カスタマ クライアント
①集客のコスト削減
・メール・広告最適化
・ポイント付与最適化
③クライアント業務支援
・レポーティング
④KPI可視化
データドリブンな意思決定支援
②マッチング率向上
・UI/UX改善
・レコメンデーション
(C) Recruit Holdings Co.,Ltd. All rights reserved.
BigQueryをどこで使うか
■ データ分析は二つのパターンが有る
アドホック分析
● 企画や戦略の立案社員全員が
担当のデータを見る
● ExcelやBI的なこと
● 皆がデータを見る
23
バックエンドシステム
● バッチとして実装し、
日々価値を生み出し続ける
● 夜間バッチ
● データ加工や機械学習
(C) Recruit Holdings Co.,Ltd. All rights reserved.
BigQuery をどこで使うか
カスタマ クライアント
①集客のコスト削減
・メール・広告最適化
・ポイント付与最適化
③クライアント業務支援
・レポーティング
②マッチング率向上
・UI/UX改善
・レコメンデーション
バックエンドシステムがメイン
(C) Recruit Holdings Co.,Ltd. All rights reserved.
BigQuery をどこで使うか
カスタマ クライアント
④KPI可視化
データドリブンな意思決定支援
アドホック分析がメイン
↓
BigQueryが向いている
(C) Recruit Holdings Co.,Ltd. All rights reserved.
BigQuery の使い所
Oracle Exadata Hortonworks BigQuery
出来ること SQL SQL (Hive)
機械学習 + その他
SQL
クエリ速度 △
リソースは一定
△
リソースは一定
◯
クエリ毎にリソースを確保
値段 ✕
専用ハードウェアが必要
△
一般的なハードウェア
◯
クエリ課金
扱えるデータ量
(予算内で)
✕
容量あたり蓄積コスト高
△ ◯
全量OK
セキュリティ・安
定性
◯
オンプレなので
◯
オンプレなので
△
クラウドなので
高SLAのバッチ処理 機械学習モデルの
計算
全社員向け
公開データセット
バックエンドシステム アドホック分析
(C) Recruit Holdings Co.,Ltd. All rights reserved.
BigQuery がアドホック分析に向いている訳
■ 速い
● すぐに分析結果が出る
■ データ量を気にしなくて良い
● 容量は実質無限。GCS にためておくだけなら安い。
■ 使いやすい
● ブラウザがあればOK。クライアント環境構築が不要
■ 従量課金
● 使いたいときだけにコストが発生する
■ データの共有が簡単
● 1クリックでデータ共有が可能
● 例)全社 BigQuery に全社データから推定したユーザ属性を格納し、
各社の BigQuery からJOINしてつかってもらう
(C) Recruit Holdings Co.,Ltd. All rights reserved.
GCP の活用と今後のテーマ
■ GCP 活用中
● Google Pub/Sub を用いたユーザ行動ログに対するリアルタイム属性付与
● Cloud Spannerを用いたメールバナー出し分けツール
● Google Cloud Datastore を用いた、全ユーザx全属性を高速に取得できるAPI開発
■ 今後のテーマ
● BigQuery 全社公開
● Hadoopベースの機械学習から、Dataflow + GPUベースの機械学習へ
● BigQueryにデータ品質情報が表示される画面の開発
(C) Recruit Holdings Co.,Ltd. All rights reserved.
BigQueryにデータ品質情報が表示される画面(開発中)

More Related Content

What's hot

データ分析グループの組織編制とその課題 マーケティングにおけるKPI設計の失敗例 ABテストの活用と、機械学習の導入 #CWT2016
データ分析グループの組織編制とその課題 マーケティングにおけるKPI設計の失敗例 ABテストの活用と、機械学習の導入 #CWT2016データ分析グループの組織編制とその課題 マーケティングにおけるKPI設計の失敗例 ABテストの活用と、機械学習の導入 #CWT2016
データ分析グループの組織編制とその課題 マーケティングにおけるKPI設計の失敗例 ABテストの活用と、機械学習の導入 #CWT2016
Tokoroten Nakayama
 

What's hot (20)

PostgreSQLでpg_bigmを使って日本語全文検索 (MySQLとPostgreSQLの日本語全文検索勉強会 発表資料)
PostgreSQLでpg_bigmを使って日本語全文検索 (MySQLとPostgreSQLの日本語全文検索勉強会 発表資料)PostgreSQLでpg_bigmを使って日本語全文検索 (MySQLとPostgreSQLの日本語全文検索勉強会 発表資料)
PostgreSQLでpg_bigmを使って日本語全文検索 (MySQLとPostgreSQLの日本語全文検索勉強会 発表資料)
 
【DL輪読会】Language Conditioned Imitation Learning over Unstructured Data
【DL輪読会】Language Conditioned Imitation Learning over Unstructured Data【DL輪読会】Language Conditioned Imitation Learning over Unstructured Data
【DL輪読会】Language Conditioned Imitation Learning over Unstructured Data
 
学生のためのAI豆知識
学生のためのAI豆知識学生のためのAI豆知識
学生のためのAI豆知識
 
ナレッジグラフとオントロジー
ナレッジグラフとオントロジーナレッジグラフとオントロジー
ナレッジグラフとオントロジー
 
If文から機械学習への道
If文から機械学習への道If文から機械学習への道
If文から機械学習への道
 
pg_dbms_statsの紹介
pg_dbms_statsの紹介pg_dbms_statsの紹介
pg_dbms_statsの紹介
 
Optuna on Kubeflow Pipeline 分散ハイパラチューニング
Optuna on Kubeflow Pipeline 分散ハイパラチューニングOptuna on Kubeflow Pipeline 分散ハイパラチューニング
Optuna on Kubeflow Pipeline 分散ハイパラチューニング
 
データ分析グループの組織編制とその課題 マーケティングにおけるKPI設計の失敗例 ABテストの活用と、機械学習の導入 #CWT2016
データ分析グループの組織編制とその課題 マーケティングにおけるKPI設計の失敗例 ABテストの活用と、機械学習の導入 #CWT2016データ分析グループの組織編制とその課題 マーケティングにおけるKPI設計の失敗例 ABテストの活用と、機械学習の導入 #CWT2016
データ分析グループの組織編制とその課題 マーケティングにおけるKPI設計の失敗例 ABテストの活用と、機械学習の導入 #CWT2016
 
アドテクを支える技術 〜1日40億リクエストを捌くには〜
アドテクを支える技術 〜1日40億リクエストを捌くには〜アドテクを支える技術 〜1日40億リクエストを捌くには〜
アドテクを支える技術 〜1日40億リクエストを捌くには〜
 
リクルートのビッグデータ活用基盤とデータ活用に向けた取組み
リクルートのビッグデータ活用基盤とデータ活用に向けた取組みリクルートのビッグデータ活用基盤とデータ活用に向けた取組み
リクルートのビッグデータ活用基盤とデータ活用に向けた取組み
 
ビッグデータ処理データベースの全体像と使い分け
2018年version
ビッグデータ処理データベースの全体像と使い分け
2018年versionビッグデータ処理データベースの全体像と使い分け
2018年version
ビッグデータ処理データベースの全体像と使い分け
2018年version
 
BERT分類ワークショップ.pptx
BERT分類ワークショップ.pptxBERT分類ワークショップ.pptx
BERT分類ワークショップ.pptx
 
DXとかDevOpsとかのなんかいい感じのやつ 富士通TechLive
DXとかDevOpsとかのなんかいい感じのやつ 富士通TechLiveDXとかDevOpsとかのなんかいい感じのやつ 富士通TechLive
DXとかDevOpsとかのなんかいい感じのやつ 富士通TechLive
 
LakeTahoe
LakeTahoeLakeTahoe
LakeTahoe
 
Google Cloud ベストプラクティス:Google BigQuery 編 - 01 : BigQuery とは?
Google Cloud ベストプラクティス:Google BigQuery 編 - 01 : BigQuery とは?Google Cloud ベストプラクティス:Google BigQuery 編 - 01 : BigQuery とは?
Google Cloud ベストプラクティス:Google BigQuery 編 - 01 : BigQuery とは?
 
OpenTelemetryでWebシステムの処理を追跡しよう - DjangoCongress JP 2022
OpenTelemetryでWebシステムの処理を追跡しよう - DjangoCongress JP 2022OpenTelemetryでWebシステムの処理を追跡しよう - DjangoCongress JP 2022
OpenTelemetryでWebシステムの処理を追跡しよう - DjangoCongress JP 2022
 
ChatGPT 人間のフィードバックから強化学習した対話AI
ChatGPT 人間のフィードバックから強化学習した対話AIChatGPT 人間のフィードバックから強化学習した対話AI
ChatGPT 人間のフィードバックから強化学習した対話AI
 
楽天のデータサイエンス/AIによるビッグデータ活用
楽天のデータサイエンス/AIによるビッグデータ活用楽天のデータサイエンス/AIによるビッグデータ活用
楽天のデータサイエンス/AIによるビッグデータ活用
 
Deep Learningで似た画像を見つける技術 | OHS勉強会#5
Deep Learningで似た画像を見つける技術 | OHS勉強会#5Deep Learningで似た画像を見つける技術 | OHS勉強会#5
Deep Learningで似た画像を見つける技術 | OHS勉強会#5
 
AWS + MLflow + SageMakerの環境を動かしてみたお話
AWS + MLflow + SageMakerの環境を動かしてみたお話AWS + MLflow + SageMakerの環境を動かしてみたお話
AWS + MLflow + SageMakerの環境を動かしてみたお話
 

Similar to 巨大なサービスと膨大なデータを支えるプラットフォーム


ビッグデータ活用支援フォーラム
ビッグデータ活用支援フォーラムビッグデータ活用支援フォーラム
ビッグデータ活用支援フォーラム
Recruit Technologies
 
WebDB Forum 2012 基調講演資料
WebDB Forum 2012 基調講演資料WebDB Forum 2012 基調講演資料
WebDB Forum 2012 基調講演資料
Recruit Technologies
 
Big data解析ビジネス
Big data解析ビジネスBig data解析ビジネス
Big data解析ビジネス
Mie Mori
 
[よくわかるクラウドデータベース] リクルートにおけるRedshift導入・活用事例
[よくわかるクラウドデータベース] リクルートにおけるRedshift導入・活用事例[よくわかるクラウドデータベース] リクルートにおけるRedshift導入・活用事例
[よくわかるクラウドデータベース] リクルートにおけるRedshift導入・活用事例
Amazon Web Services Japan
 

Similar to 巨大なサービスと膨大なデータを支えるプラットフォーム
 (20)

ビッグデータ処理データベースの全体像と使い分け - 2017年 Version -
ビッグデータ処理データベースの全体像と使い分け - 2017年 Version - ビッグデータ処理データベースの全体像と使い分け - 2017年 Version -
ビッグデータ処理データベースの全体像と使い分け - 2017年 Version -
 
リクルートのビッグデータ活用基盤とビッグデータ活用のためのメタデータ管理Webのご紹介
リクルートのビッグデータ活用基盤とビッグデータ活用のためのメタデータ管理Webのご紹介リクルートのビッグデータ活用基盤とビッグデータ活用のためのメタデータ管理Webのご紹介
リクルートのビッグデータ活用基盤とビッグデータ活用のためのメタデータ管理Webのご紹介
 
リクルート式Hadoopの使い方
リクルート式Hadoopの使い方リクルート式Hadoopの使い方
リクルート式Hadoopの使い方
 
MonotaRO のデータ活用と基盤の過去、現在、未来
MonotaRO のデータ活用と基盤の過去、現在、未来 MonotaRO のデータ活用と基盤の過去、現在、未来
MonotaRO のデータ活用と基盤の過去、現在、未来
 
トレジャーデータ新サービス発表 2013/12/9
トレジャーデータ新サービス発表 2013/12/9トレジャーデータ新サービス発表 2013/12/9
トレジャーデータ新サービス発表 2013/12/9
 
ビッグデータ活用支援フォーラム
ビッグデータ活用支援フォーラムビッグデータ活用支援フォーラム
ビッグデータ活用支援フォーラム
 
複数DBのバックアップ・切り戻し運用手順が異なって大変?!運用性の大幅改善、その先に。。
複数DBのバックアップ・切り戻し運用手順が異なって大変?!運用性の大幅改善、その先に。。 複数DBのバックアップ・切り戻し運用手順が異なって大変?!運用性の大幅改善、その先に。。
複数DBのバックアップ・切り戻し運用手順が異なって大変?!運用性の大幅改善、その先に。。
 
データ収集の基本と「JapanTaxi」アプリにおける実践例
データ収集の基本と「JapanTaxi」アプリにおける実践例データ収集の基本と「JapanTaxi」アプリにおける実践例
データ収集の基本と「JapanTaxi」アプリにおける実践例
 
ビッグデータ&データマネジメント展
ビッグデータ&データマネジメント展ビッグデータ&データマネジメント展
ビッグデータ&データマネジメント展
 
WebDB Forum 2012 基調講演資料
WebDB Forum 2012 基調講演資料WebDB Forum 2012 基調講演資料
WebDB Forum 2012 基調講演資料
 
Hadoopカンファレンス2013
Hadoopカンファレンス2013Hadoopカンファレンス2013
Hadoopカンファレンス2013
 
データ集計基盤のいままでとこれから 〜Hadoopからdataflowまで使い込んだ経験を徹底共有〜
データ集計基盤のいままでとこれから 〜Hadoopからdataflowまで使い込んだ経験を徹底共有〜データ集計基盤のいままでとこれから 〜Hadoopからdataflowまで使い込んだ経験を徹底共有〜
データ集計基盤のいままでとこれから 〜Hadoopからdataflowまで使い込んだ経験を徹底共有〜
 
Big data解析ビジネス
Big data解析ビジネスBig data解析ビジネス
Big data解析ビジネス
 
変わる!? リクルートグループのデータ解析基盤
変わる!? リクルートグループのデータ解析基盤変わる!? リクルートグループのデータ解析基盤
変わる!? リクルートグループのデータ解析基盤
 
[de:code 2019 振り返り Night!] Data Platform
[de:code 2019 振り返り Night!] Data Platform[de:code 2019 振り返り Night!] Data Platform
[de:code 2019 振り返り Night!] Data Platform
 
Ext js 20100526
Ext js 20100526Ext js 20100526
Ext js 20100526
 
Web アプリケーションにおけるクライアントサイドのデータハンドリングと可視化の実現
Web アプリケーションにおけるクライアントサイドのデータハンドリングと可視化の実現Web アプリケーションにおけるクライアントサイドのデータハンドリングと可視化の実現
Web アプリケーションにおけるクライアントサイドのデータハンドリングと可視化の実現
 
Qiita x Microsoft - 機械学習セミナー Microsoft AI Platform
Qiita x Microsoft - 機械学習セミナー Microsoft AI PlatformQiita x Microsoft - 機械学習セミナー Microsoft AI Platform
Qiita x Microsoft - 機械学習セミナー Microsoft AI Platform
 
[よくわかるクラウドデータベース] リクルートにおけるRedshift導入・活用事例
[よくわかるクラウドデータベース] リクルートにおけるRedshift導入・活用事例[よくわかるクラウドデータベース] リクルートにおけるRedshift導入・活用事例
[よくわかるクラウドデータベース] リクルートにおけるRedshift導入・活用事例
 
初めてのデータ分析基盤構築をまかされた、その時何を考えておくと良いのか
初めてのデータ分析基盤構築をまかされた、その時何を考えておくと良いのか初めてのデータ分析基盤構築をまかされた、その時何を考えておくと良いのか
初めてのデータ分析基盤構築をまかされた、その時何を考えておくと良いのか
 

More from Tetsutaro Watanabe

More from Tetsutaro Watanabe (20)

データサイエンティスト向け性能問題対応の基礎
データサイエンティスト向け性能問題対応の基礎データサイエンティスト向け性能問題対応の基礎
データサイエンティスト向け性能問題対応の基礎
 
MLOpsはバズワード
MLOpsはバズワードMLOpsはバズワード
MLOpsはバズワード
 
ドライブレコーダの動画を使った道路情報の自動差分抽出
ドライブレコーダの動画を使った道路情報の自動差分抽出ドライブレコーダの動画を使った道路情報の自動差分抽出
ドライブレコーダの動画を使った道路情報の自動差分抽出
 
IoTデバイスデータ収集の難しい点
IoTデバイスデータ収集の難しい点IoTデバイスデータ収集の難しい点
IoTデバイスデータ収集の難しい点
 
ドライブレコーダの画像認識による道路情報の自動差分抽出
ドライブレコーダの画像認識による道路情報の自動差分抽出ドライブレコーダの画像認識による道路情報の自動差分抽出
ドライブレコーダの画像認識による道路情報の自動差分抽出
 
先駆者に学ぶ MLOpsの実際
先駆者に学ぶ MLOpsの実際先駆者に学ぶ MLOpsの実際
先駆者に学ぶ MLOpsの実際
 
ML Ops NYC 19 & Strata Data Conference 2019 NewYork 注目セッションまとめ
ML Ops NYC 19 & Strata Data Conference 2019 NewYork 注目セッションまとめML Ops NYC 19 & Strata Data Conference 2019 NewYork 注目セッションまとめ
ML Ops NYC 19 & Strata Data Conference 2019 NewYork 注目セッションまとめ
 
タクシードライブレコーダーの動画処理MLパイプラインにkubernetesを使ってみた
タクシードライブレコーダーの動画処理MLパイプラインにkubernetesを使ってみたタクシードライブレコーダーの動画処理MLパイプラインにkubernetesを使ってみた
タクシードライブレコーダーの動画処理MLパイプラインにkubernetesを使ってみた
 
JapanTaxiにおけるSagemaker+αによる機械学習アプリケーションの本番運用
JapanTaxiにおけるSagemaker+αによる機械学習アプリケーションの本番運用JapanTaxiにおけるSagemaker+αによる機械学習アプリケーションの本番運用
JapanTaxiにおけるSagemaker+αによる機械学習アプリケーションの本番運用
 
JapanTaxiにおけるML Ops 〜機械学習の開発運用プロセス〜
JapanTaxiにおけるML Ops 〜機械学習の開発運用プロセス〜JapanTaxiにおけるML Ops 〜機械学習の開発運用プロセス〜
JapanTaxiにおけるML Ops 〜機械学習の開発運用プロセス〜
 
Google Cloud Next '18 Recap/報告会 機械学習関連
Google Cloud Next '18 Recap/報告会 機械学習関連Google Cloud Next '18 Recap/報告会 機械学習関連
Google Cloud Next '18 Recap/報告会 機械学習関連
 
WiredTigerを詳しく説明
WiredTigerを詳しく説明WiredTigerを詳しく説明
WiredTigerを詳しく説明
 
リクルートテクノロジーズ における EMR の活用とコスト圧縮方法
リクルートテクノロジーズ における EMR の活用とコスト圧縮方法リクルートテクノロジーズ における EMR の活用とコスト圧縮方法
リクルートテクノロジーズ における EMR の活用とコスト圧縮方法
 
ビックデータ処理技術の全体像とリクルートでの使い分け
ビックデータ処理技術の全体像とリクルートでの使い分けビックデータ処理技術の全体像とリクルートでの使い分け
ビックデータ処理技術の全体像とリクルートでの使い分け
 
MongoDBが遅いときの切り分け方法
MongoDBが遅いときの切り分け方法MongoDBが遅いときの切り分け方法
MongoDBが遅いときの切り分け方法
 
MongoDB3.2の紹介
MongoDB3.2の紹介MongoDB3.2の紹介
MongoDB3.2の紹介
 
MongoDB World 2014に行ってきた!
MongoDB World 2014に行ってきた!MongoDB World 2014に行ってきた!
MongoDB World 2014に行ってきた!
 
がっつりMongoDB事例紹介
がっつりMongoDB事例紹介がっつりMongoDB事例紹介
がっつりMongoDB事例紹介
 
初心者向けMongoDBのキホン!
初心者向けMongoDBのキホン!初心者向けMongoDBのキホン!
初心者向けMongoDBのキホン!
 
MongoDBの監視
MongoDBの監視MongoDBの監視
MongoDBの監視
 

巨大なサービスと膨大なデータを支えるプラットフォーム


  • 1. (C) Recruit Holdings Co.,Ltd. All rights reserved. 巨大なサービスと膨大なデータを支えるプラットフォーム ~リクルートでの Google BigQuery の活用とは?~ 2018/3/8 Cloud Days2018 <関西> KEY NOTE
  • 2. (C) Recruit Holdings Co.,Ltd. All rights reserved. 自己紹介 {"ID" :"fetaro" "名前":"渡部 徹太郎" "研究":"東京工業大学でデータベースと情報検索の研究 (@日本データベース学会)" "仕事":{前職:["証券会社のオンライントレードシステムのWeb基盤", "オープンソースなら何でも。主にMongoDB,NoSQL"], 現職:["リクルートの分析基盤,Exadata,BigQuery,EMR"] 副業:["ビッグデータコンサルタント", "非常勤講師" ]} "エディタ":"emacs派", "趣味": ["自宅サーバ","麻雀"] }
  • 3. (C) Recruit Holdings Co.,Ltd. All rights reserved. 目次 ■ データプラットフォームの紹介 ■ BigQuery の使い所
  • 4. (C) Recruit Holdings Co.,Ltd. All rights reserved. データプラットフォームの紹介
  • 5. (C) Recruit Holdings Co.,Ltd. All rights reserved. リクルートの事業領域 ライフイベント ライフスタイル 旅行 ライフスタイル 健康・美容 就職 結婚 転職 不動産 自動車 出産 教育 「ゆりかごから墓場まで」
  • 6. (C) Recruit Holdings Co.,Ltd. All rights reserved. リクルートのビジネスモデル ■ リボンモデル
  • 7. (C) Recruit Holdings Co.,Ltd. All rights reserved. リクルートのビジネスモデル クライアント カスタマ 集める 集める 動かす 動かす 結ぶ
  • 8. (C) Recruit Holdings Co.,Ltd. All rights reserved. ビッグデータの活用箇所 カスタマ クライアント ①集客のコスト削減 ・メール・広告最適化 ・ポイント付与最適化 ③クライアント業務支援 ・レポーティング ④KPI可視化 データドリブンな意思決定支援 ②マッチング率向上 ・UI/UX改善 ・レコメンデーション
  • 9. (C) Recruit Holdings Co.,Ltd. All rights reserved. リクルートホールディングス データ・AI戦略統括部 リクルート ホールディングス リクルートキャリア リクルート住まいカンパニー リクルートライフスタイル リクルートジョブズ リクルートスタッフィング リクルートマーケティングパートナーズ ・・・ リクルート テクノロジーズ リクルートアドミニストレーション リクルートコミュニケーションズ 事業会社 機能会社 データ・AI 戦略統括部
  • 10. (C) Recruit Holdings Co.,Ltd. All rights reserved. Recruit ID・リクルートポイント ■ 共通IDで行動を把握・分析。共通ポイントの付与 横断データ基盤 Recruit ID
  • 11. (C) Recruit Holdings Co.,Ltd. All rights reserved. 横断データ基盤
  • 12. (C) Recruit Holdings Co.,Ltd. All rights reserved. 横断データ基盤の構成要素 12 ポイント・メール・ 広告 マスタデータRecruit Service Web・ アプリ Exadata RDS S3 行動データ API提供 集計/予測/分類 アドホック分析/データ共有 出力蓄積 データアプリケーション Google Cloud Storage Spanner 収集 ・ ・ ・ 50サイト 加工 セグメント抽出 BigQuery BI・レポート GKE k8s
  • 13. (C) Recruit Holdings Co.,Ltd. All rights reserved. 横断データ基盤のプロファイル ■ データ ● データ量:2,000+TB ● サービス:50 ● データベース:160 ● テーブル:8000 ■ 処理 ● サーバ数:200+ ● ジョブ数:10000 ● クエリ数: 100,000,000/月 ■ 体制 ● 分析環境利用者数:400人 ● 開発者数:87人 13
  • 14. (C) Recruit Holdings Co.,Ltd. All rights reserved. 横断データ基盤の典型的な処理パターン ■ サイト横断でデータを取得、機械学習によりユーザを推定、 メール・ポイント最適化、UI/UX改善に利用する 14 Aサイト 行動 データ Exadata マスター データ S3 Web 機械学習による 属性推定 個人情報マスク 名寄せ DWH化 API化 推定結果の 格納 Exadata リスト作成 メール ポイント 最適化 UI/UX 改善 ブ ラ ウ ザ Point Aサイトに訪れたこと無いユーザでも、 Bサイトの情報から属性を推定できる Bサイト
  • 15. (C) Recruit Holdings Co.,Ltd. All rights reserved. プラットフォームだけでなくデータガバナンスを強化 ■ データガバナンス ● メタデータ管理 ・・・ できてる! ● データフロー管理 ・・・ できてきた! ● データ品質管理 ・・・ これから 15
  • 16. (C) Recruit Holdings Co.,Ltd. All rights reserved. メタデータ管理 ■ メタデータ可視化Web ● データを探す機能 • データベース一覧・テーブル一覧 • キーワード検索 • 名前が似ているテーブル ● データの意味を知る機能 • テーブル定義 • コード値 • 利用者のコメント • よく利用しているユーザ ● データの関係を知る機能 • 外部参照一覧 • JOINされることが多いテーブル ● データの変化を知る機能 • テーブル定義変更検知・通知 16 Web アプリ OLTP DB 分析 DB Web アプリ OLTP DB Web アプリ OLTP DB メタデータ可視化Web リクルートのほぼ全サイトで導入 OLTP DB, 分析DBの両方から情報を収集
  • 17. (C) Recruit Holdings Co.,Ltd. All rights reserved. データフロー管理 ■ データとジョブの関係を可視化 ● データ数:7000 ジョブ数:800 ■ 用途 ● 障害発生時の影響調査 ● 処理設計時のインプット ■ 管理方法 ● YAMLをgitで管理 17 データマー ト ETL マート化 データマ ート マート化 DWH src src ETL レポート アプリケーション ジョブコントローラ 独自Webアプリを開発
  • 18. (C) Recruit Holdings Co.,Ltd. All rights reserved. データ品質管理 ■ データ品質 ● データの鮮度 ● データの正確性(欠損、重複はないか) ● など ■ できていること ● アプリケーション個別に件数チェック、重複チェック ■ やりたいこと ● プラットフォーム全体でデータ品質管理プラットフォームを準備 ● データの重要度によってデータ品質チェックの量を変える 18
  • 19. (C) Recruit Holdings Co.,Ltd. All rights reserved. BigQuery の使い所
  • 20. (C) Recruit Holdings Co.,Ltd. All rights reserved. 分析用SQLエンジンの進化 20 RDB(OLTP) RDB(DWH) SQL on Hadoop Redshift • MPP • 専用のハードウェア • 大量のディスク • ロード・抽出・集計 に特化 • 汎用的なハードウ ェア • 無限にスケール • UPDATE / DELETEを捨てる • クエリ毎にリソー スの動的割当 Impara Athena 2004年 (Google) 2012年 (Google) BigQuery
  • 21. (C) Recruit Holdings Co.,Ltd. All rights reserved. BigQueryとは ■ BigQuery とは ● Google がHadoop(Hive)を進化させて作った分散SQLエンジン ● クエリ課金 ● 速度が別格(1TBを1秒でスキャン) ● GROUP BYやJOIN等の重い処理は、処理量に合わせて計算ノードを動的に割り 当てて実行。利用できるノードは1000台以上 21 分散ストレージ Colossus File System シャード シャード シャード シャード シャード ミキサー ミキサー ミキサー ルート ミキサー 参考)オライリー・ジャパン社「BigQuery」
  • 22. (C) Recruit Holdings Co.,Ltd. All rights reserved. BigQuery をどこで使うか カスタマ クライアント ①集客のコスト削減 ・メール・広告最適化 ・ポイント付与最適化 ③クライアント業務支援 ・レポーティング ④KPI可視化 データドリブンな意思決定支援 ②マッチング率向上 ・UI/UX改善 ・レコメンデーション
  • 23. (C) Recruit Holdings Co.,Ltd. All rights reserved. BigQueryをどこで使うか ■ データ分析は二つのパターンが有る アドホック分析 ● 企画や戦略の立案社員全員が 担当のデータを見る ● ExcelやBI的なこと ● 皆がデータを見る 23 バックエンドシステム ● バッチとして実装し、 日々価値を生み出し続ける ● 夜間バッチ ● データ加工や機械学習
  • 24. (C) Recruit Holdings Co.,Ltd. All rights reserved. BigQuery をどこで使うか カスタマ クライアント ①集客のコスト削減 ・メール・広告最適化 ・ポイント付与最適化 ③クライアント業務支援 ・レポーティング ②マッチング率向上 ・UI/UX改善 ・レコメンデーション バックエンドシステムがメイン
  • 25. (C) Recruit Holdings Co.,Ltd. All rights reserved. BigQuery をどこで使うか カスタマ クライアント ④KPI可視化 データドリブンな意思決定支援 アドホック分析がメイン ↓ BigQueryが向いている
  • 26. (C) Recruit Holdings Co.,Ltd. All rights reserved. BigQuery の使い所 Oracle Exadata Hortonworks BigQuery 出来ること SQL SQL (Hive) 機械学習 + その他 SQL クエリ速度 △ リソースは一定 △ リソースは一定 ◯ クエリ毎にリソースを確保 値段 ✕ 専用ハードウェアが必要 △ 一般的なハードウェア ◯ クエリ課金 扱えるデータ量 (予算内で) ✕ 容量あたり蓄積コスト高 △ ◯ 全量OK セキュリティ・安 定性 ◯ オンプレなので ◯ オンプレなので △ クラウドなので 高SLAのバッチ処理 機械学習モデルの 計算 全社員向け 公開データセット バックエンドシステム アドホック分析
  • 27. (C) Recruit Holdings Co.,Ltd. All rights reserved. BigQuery がアドホック分析に向いている訳 ■ 速い ● すぐに分析結果が出る ■ データ量を気にしなくて良い ● 容量は実質無限。GCS にためておくだけなら安い。 ■ 使いやすい ● ブラウザがあればOK。クライアント環境構築が不要 ■ 従量課金 ● 使いたいときだけにコストが発生する ■ データの共有が簡単 ● 1クリックでデータ共有が可能 ● 例)全社 BigQuery に全社データから推定したユーザ属性を格納し、 各社の BigQuery からJOINしてつかってもらう
  • 28. (C) Recruit Holdings Co.,Ltd. All rights reserved. GCP の活用と今後のテーマ ■ GCP 活用中 ● Google Pub/Sub を用いたユーザ行動ログに対するリアルタイム属性付与 ● Cloud Spannerを用いたメールバナー出し分けツール ● Google Cloud Datastore を用いた、全ユーザx全属性を高速に取得できるAPI開発 ■ 今後のテーマ ● BigQuery 全社公開 ● Hadoopベースの機械学習から、Dataflow + GPUベースの機械学習へ ● BigQueryにデータ品質情報が表示される画面の開発
  • 29. (C) Recruit Holdings Co.,Ltd. All rights reserved. BigQueryにデータ品質情報が表示される画面(開発中)