Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
食べログのビッグデータ基盤を支える技術
Search
yang_ming
January 01, 2021
Science
490
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
食べログのビッグデータ基盤を支える技術
TECH Street登壇資料
https://www.tech-street.jp/entry/2021/02/26/112440
yang_ming
January 01, 2021
More Decks by yang_ming
See All by yang_ming
無印良品のID-POSデータ分析を紹介.pdf
yangming
1
5.2k
Other Decks in Science
See All in Science
中央大学AI・データサイエンスセンター 2025年第6回イブニングセミナー 『知能とはなにか ヒトとAIのあいだ』
tagtag
PRO
0
160
TypeScript で WebAssembly を用いた 型安全なプラグイン設計
nagano
2
510
ITTF卓球世界ランキングのポイント比を用いた試合結果予測モデルの性能評価 / Performance evaluation of match result prediction models using the point ratio of the ITTF Table Tennis World Ranking
konakalab
0
130
会社でMLモデルを作るとは @電気通信大学 データアントレプレナーフェロープログラム
yuto16
1
710
水耕栽培を始める前に知っておきたい植物の科学
grow_design_lab
0
230
医療 LLM ベンチマークの現在地:多面的評価 と日本ローカライズ
analokmaus
1
490
機械学習 - ニューラルネットワーク入門
trycycle
PRO
0
1k
AI(人工知能)の過去・現在・未来 —AIは人間を超えるのか—
tagtag
PRO
0
120
次代のデータサイエンティストへ~スキルチェックリスト、タスクリスト更新~
datascientistsociety
PRO
3
43k
先端因果推論特別研究チームの研究構想と 人間とAIが協働する自律因果探索の展望
sshimizu2006
3
920
俺たちは本当に分かり合えるのか? ~ PdMとスクラムチームの “ずれ” を科学する
bonotake
2
2.4k
Amusing Abliteration
ianozsvald
1
200
Featured
See All Featured
Building an army of robots
kneath
306
46k
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
380
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
940
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
560
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2.1k
The Cost Of JavaScript in 2023
addyosmani
55
10k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
450
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
55k
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
1
250
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
290
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.9k
Transcript
CONFIDENTIAL © Kakaku.com Inc. All Rights Reserved. 1 食べログのビッグデータ基盤を支える技術 株式会社カカクコム
食べログシステム本部 技術部 楊 明 2022年01月27日(木)
CONFIDENTIAL © Kakaku.com Inc. All Rights Reserved. 2 自己紹介 株式会社カカクコム
楊 明 所属 株式会社カカクコム 食べログシステム本部 技術部 データサイエンスチーム 仕事 2021年株式会社カカクコムに入社。 食べログデータ分析基盤の構築&運用と担当。 データ活用のハードルを下げ、データドリブンの取り組み全体を加速。 ビッグデータ分析により、食べログ各部門のデータ活用事業の支援。 趣味 登山、ビリヤード
CONFIDENTIAL © Kakaku.com Inc. All Rights Reserved. 3 カカクコムグループ運営サービス紹介 *月間利用者数、デバイス別は2021年9月現在
CONFIDENTIAL © Kakaku.com Inc. All Rights Reserved. 4 カカクコムグループ運営サービス紹介
CONFIDENTIAL © Kakaku.com Inc. All Rights Reserved. 5 目次 1.
ビッグデータ分析基盤とは 2. 食べログのビッグデータ基盤の要件 3. 食べログのビッグデータ基盤の全体図 4. まとめ
CONFIDENTIAL © Kakaku.com Inc. All Rights Reserved. 6 1. ビッグデータ分析基盤とは
CONFIDENTIAL © Kakaku.com Inc. All Rights Reserved. 7 ビッグデータ分析と分散処理 データの量
が爆発的に 増加 データ 人、プログラム 意思決定・利益向上 計算 CPU CPU 計算 結果 データ 計算 CPU CPU データ 計算 CPU CPU データ 計算 CPU CPU 昔からあるデータ分析 分散処理でビッグデータ分析 人、プログラム 計算 結果 意思決定・利益向上 コーディネーター 計算を分散 部分計算結果 小さいデータの計算は一つのコンピューターで可能 ビッグデータ分析は複数のコンピューターで分散処理が必要
CONFIDENTIAL © Kakaku.com Inc. All Rights Reserved. 8 非構造化データの増加と機械学習 インターネットやスマートフォンの普及により、画像や音声データが増えてきました。
これからは構造のない非構造データですので、分析するためには機械学習による処理が必要です。 非構造化データ 構造化データ ポジティブ・ ネガティブ判定 テキスト変換 画像分類 テキスト 音声 画像 “ゆったり美味しさを 味わうならここが良 いと思い、寿司とい えばここに来 ...” 寿司 ポジティブ
CONFIDENTIAL © Kakaku.com Inc. All Rights Reserved. 9 ビッグデータ分析基盤の全体像 データ
生成 データ 収集 データレイク データ アプリケーション データ ウェアハウス データ 可視化 アドホック分析 非構造化 データ 構造化 データ 構造化 データ 利益 向上 意思 決定 生成 収集 活用 蓄積
CONFIDENTIAL © Kakaku.com Inc. All Rights Reserved. 10 2.食べログのビッグデータ基盤の要件
CONFIDENTIAL © Kakaku.com Inc. All Rights Reserved. 11 食べログのビッグデータ基盤が目指すこと 食べログのあらゆるデータがビッグデータ基盤に集約されている。
• データサイズが大きく、かつ、本数が多い。 • ログデータとスナップショットデータがあり、共に非常に巨大なデータを持っている。 • スナップショットデータは過去に遡って集計したいことが度々ある。 社内のあらゆる人がデータドリブンな意思決定をできるようにする。 • クエリの実行は様々な部署が行うため時間帯がよく重なる。そのような状況でも、待機するこ となく集計作業を実施したい。 • ITリテラシーが低い人でもデータ分析できるようにする。 データを活用した機械学習やAIプロダクトでビジネス事業に貢献する。 • 簡単にMLモデルを構築&デプロイできる環境を作れるようにする。 • 手軽に機械学習をアプリケーションに組み込むことが可能。
CONFIDENTIAL © Kakaku.com Inc. All Rights Reserved. 12 3.食べログのビッグデータ基盤の全体図
CONFIDENTIAL © Kakaku.com Inc. All Rights Reserved. 13 食べログのビッグデータ基盤の全体図 Cloud
データ活用 データ分析 データ蓄積 データ収集 Adobe Analytics On-premises MySQL Google Compute Engine Google Cloud Platform (GCP) DataLake Cloud Storage DWH BigQuery Cloud Composer Datamart BigQuery Tableau Vertex AI Salesforce データ可視化 営業支援 機械学習 AppsFlyer
CONFIDENTIAL © Kakaku.com Inc. All Rights Reserved. 14 食べログのビッグデータ基盤の全体図(データレイク) Cloud
データ活用 データ分析 データ蓄積 データ収集 Adobe Analytics On-premises MySQL Google Compute Engine Google Cloud Platform (GCP) DataLake Cloud Storage DWH BigQuery Cloud Composer Datamart BigQuery Tableau Vertex AI Salesforce データ可視化 営業支援 機械学習 AppsFlyer
CONFIDENTIAL © Kakaku.com Inc. All Rights Reserved. 15 データレイク構成 Cloud
データ蓄積 データ収集 Adobe Analytics On-premises MySQL Compute Engine Google Cloud Platform (GCP) Google Cloud Storage(以下GCS)を採用して、データレイクを構築 食べログを取り巻くあらゆるデータをデータレイクに集約 セキュリティ強化のため、データソースごとにデータレイクを分割して構 築し、権限を設定 1層 蓄積データ種類 DataLa ke アクセス権限 2層 3層 クラウドから外部連携のデータ 食べログのデータベースのデータ クラウド接続は可能 オンプレミスDB接続は可能 社内ネット 特定サーバー接続は可能 学習済データ、レポートデータ 予測データ 社内ネット レポート ファイル 1層バケット 2層バケット 3層バケット DataLake Cloud Storage AppsFlyer Oauth Oauth Oauth SFTP API
CONFIDENTIAL © Kakaku.com Inc. All Rights Reserved. 16 データレイクまでビッグデータ収集 Google
Cloud Platform (GCP) On-premises DataLake Cloud Storage Kubernetes Engine 社内Kubernetes 社内MySQL Argo workflow DB1 DB2 Workflow1 Workflow2 table1 table2 … table1 table2 … embulk job1 embulk job2 embulk … embulk job1 embuk job2 embulk … DB1/table1 DB2/table1 DB2/table1 DB2/… DB1/table2 DB1/… Argo Workflow + Embulkで高速なビッグデータ転送を実現 • クラウドサービスからDBサーバーにアクセス不可 • サイズが大きく、かつ、本数が多いデータを転送 • 社内k8s環境を活用し、Argo workflowを構築 • DB毎それぞれworkflowを設定 • Workflowでは、複数のジョブを並列実行 • Embulkで大規模データの高速バルク処理が可能 • 2000以上のテーブルは並列データ転送できる • 2億レコードのビッグテーブルは短期間データ転送できる • あるworkflowが障害時、他のDBデータ転送に影響がなし • あるテーブルが障害時、他のテーブル転送に影響がなし
CONFIDENTIAL © Kakaku.com Inc. All Rights Reserved. 17 食べログのビッグデータ基盤の全体図(DWH&データマート) Cloud
データ活用 データ分析 データ蓄積 データ収集 Adobe Analytics On-premises MySQL Google Compute Engine Google Cloud Platform (GCP) DataLake Cloud Storage DWH BigQuery Cloud Composer Datamart BigQuery Tableau Vertex AI Salesforce データ可視化 営業支援 機械学習 AppsFlyer
CONFIDENTIAL © Kakaku.com Inc. All Rights Reserved. 18 DWH&データマート データ分析
データ蓄積 Google Cloud Platform (GCP) DataLake Cloud Storage DWH BigQuery Cloud Composer Datamart BigQuery Cloud Composer + bq load でデータレイクからBigQueryにファイルを自 動で取り込むことを実現 • bq loadバッチを作成する • Cloud Composer上で、bash_operator を使って、loadバッチを実行す るDAGを作成する • DAGファイル、バッチファイルをCloud Composerサーバー上に反映 すれば、設定したスケジュール通り、データレイクからBigQueryに ファイルが自動で取り込まれる。 Cloud Composer + bigquery_operator でBigQuery クエリを実行して、 データマートテーブルを自動的に更新することを実現 • データマート集計クエリを作成する • Cloud Composer上で、bigquery_operatorを使って、クエリを実行す るDAGを作成する • DAGファイル、クエリファイルをCloud Composerサーバー上に反映 すれば、設定したスケジュール通り、 BigQueryクエリを実行して、 データマートテーブルを自動的に更新される bq load 自動更新
CONFIDENTIAL © Kakaku.com Inc. All Rights Reserved. 19 データマート作成の目的1(計算リソースの削減) データマートを作らず、データウェアハウスにあるデータだけで活用することも可能ですが、
汎用的なデータマートを作成して、計算リソースの削減ができます。 DWH BigQuery table カスタマー行 動ログ DWH BigQuery table カスタマー行 動ログ Datamart BigQuery table コンバージョン 履歴マート 1億行 1億行 100万行 集計 一年のコンバージョン数集計 半年のコンバージョン数集計 前月のコンバージョン数集計 一年の集計 半年の集計 先月の集計 汎用的なコンバージョン 履歴マートによる計算リ ソースの削減 細かいデータを毎回集計 するのは計算リソースの 無駄
CONFIDENTIAL © Kakaku.com Inc. All Rights Reserved. 20 データマート作成の目的2(汎用的な集計の統一化) 汎用的な集計データマートを使ってもらうことにより、人によって集計結果が異なる問題を解決できます。
DWH BigQuery DWH BigQuery Datamart BigQuery 集計 レポート提出、意思決定 カスタマー マスタ 予約履歴 店舗マスタ カスタマー マスタ 予約履歴 店舗マスタ カスタマー別 予約履歴マート 51件 49件 ?件 50件 50件 50件 乖離調査 OUTER JOIN INNER JOIN
CONFIDENTIAL © Kakaku.com Inc. All Rights Reserved. 21 Cloud Composerでデータパイプラインを構築
Cloud Composerを使って、簡単に業務集計用のデータパイプラインを構築できます。 店舗ネット予約率を計算する事例を通して、紹介します。 ネット予約数/PV DataLake Cloud Storage DWH BigQuery Datamart BigQuery 店舗アクセス ログ 店舗マスタ データ 店舗ネット予 約データ 店舗アクセス ログ 店舗ネット予 約データ 店舗マスタ データ 店舗ネット予 約率 店舗PV ファイル テーブル ビジネス要件 実現 Cloud Composer 1 2 3 4 5 1 2 3 4 5 6 • フルマネージドサービスとして提供、インフラ運用なし、サーバーレス • DAGという形式でタスク間の依存関係を管理できる • 様々なoperatorsを提供して、簡単にデータパイプラインを構築できる • 容易なオーケストレーション • 1-Clickで過去workflowを再実行し、簡単にリカバリ対応できうる。
CONFIDENTIAL © Kakaku.com Inc. All Rights Reserved. 22 食べログのビッグデータ基盤の全体図(データ活用) Cloud
データ活用 データ分析 データ蓄積 データ収集 Adobe Analytics On-premises MySQL Google Compute Engine Google Cloud Platform (GCP) DataLake Cloud Storage DWH BigQuery Cloud Composer Datamart BigQuery Tableau Vertex AI Salesforce データ可視化 営業支援 機械学習 AppsFlyer
CONFIDENTIAL © Kakaku.com Inc. All Rights Reserved. 23 データ可視化 データ可視化は企業の誰でもデータをもとに意思決定をできるようにするための方法です。
食べログにはBigQuery+Tableauにより、データ可視化の環境を構築しました。 BigQuery DWH table PVデータ table 店舗マスタ BigQuery Datamart Datamart 店舗プロファイル Tableau 自動 集計 BigQuery Admin BigQuery User&Tableau Creator Tableau Viewer 基盤担当 サイエンス担当 役員 部長 企画者 データビジネス担当 企画者 マーケティング担当 ライブOR抽出 View 店舗毎予約推移 table 予約データ
CONFIDENTIAL © Kakaku.com Inc. All Rights Reserved. 24 4.まとめ
CONFIDENTIAL © Kakaku.com Inc. All Rights Reserved. 25 まとめ •
セキュリティ強化のため、源泉データによりデータレイクを分割して構築し、それぞれ権 限を設定するのはオススメです。 • ビッグデータの収集は容易ではありません。大量のデータを収集するために分散処理が必 要です。エンジニアリングにおいてももっとも工数を費やすのはデータ収集です。 • 汎用的な集計データマートを使ってもらうことにより、計算リソースの削減ができますし、 人によって集計結果が異なる問題を解決できます。 • Cloud Composerを活用して、データ分析基盤の運用コストがかなり削減できます。
CONFIDENTIAL © Kakaku.com Inc. All Rights Reserved. 26 最後に We
are hiring! Join our team! • データ基盤エンジニアを募集します。 • 今後AIを利用し更なるシステムの強化を行う予定です。最新技術の実装 に携わって頂けるとともに、自身が携わったシステムが事業の成長につ ながっているという実感を持ちながら働くことができるポジションです。 もしご興味をもたれた方は是非採用ページからお申し込みください。 • まずはカジュアル面談で情報交換をしてみたいという方も大歓迎です。 その場合はご応募いただくときに、フリーテキスト記入欄に「カジュア ル面談希望」とご記載ください https://hrmos.co/pages/kakakucom/jobs/1011008
CONFIDENTIAL © Kakaku.com Inc. All Rights Reserved. 27 ご清聴ありがとうございました