More Related Content
Similar to 巨大なサービスと膨大なデータを支えるプラットフォーム
(20)
More from Tetsutaro Watanabe (20)
巨大なサービスと膨大なデータを支えるプラットフォーム
- 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派",
"趣味": ["自宅サーバ","麻雀"]
}
- 5. (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
- 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
- 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にデータ品質情報が表示される画面の開発