合同会社DMM. comのBigQuery導入事例
合同会社DMM.com / 藤井亮太
開発部長 / EM / 従業員規模: 1,001〜5,000名 / エンジニア組織: 1,001〜5,000名
利用プラン | ツールの利用規模 | ツールの利用開始時期 | 事業形態 |
---|---|---|---|
BigQuery エディション: Enterprise | 301名〜500名 | 2022年12月 | B to B B to C |
利用プラン | BigQuery エディション: Enterprise |
---|---|
ツールの利用規模 | 301名〜500名 |
ツールの利用開始時期 | 2022年12月 |
事業形態 | B to B B to C |
アーキテクチャ
アーキテクチャの意図・工夫
データソースに応じた取り込み手法
各種SaaSからのデータ取り込みでは、Fivetranを利用し、複雑なスキーマの取り込みを省力化する データ量の多いシステムからの取り込みは内製のパイプラインを使いコストを抑える などコストとデリバリーのバランスを取るようにしています。
コストコントロールと権限管理
BigQueryをデータの保存用と部門別の分析用に分割することで、以下の利点があります。
- 部門毎のクラウドコストの計算が容易に
- 部門内の利用者を独立に管理可能
非エンジニアによるデータパイプライン開発
CI上で適切な権限によるDry-Runを実行することで、構文エラーのみでなく、参照権限の内テーブルアクセスなどのエラーも検知できるようにしています。
補足
より詳細なアーキテクチャの説明は、「Google Cloud Next Tokyo ’23」の登壇にて詳しく説明しております。 興味ある方はこちらのリンクを参照ください。
導入の背景・解決したかった問題
導入背景
ツール導入前の課題
- データ基盤の利用者増加に伴い、リソース不足の課題、分析のクオリティのばらつきが広がっていた
- データ活用が社内プロダクトに閉じており、マーケティング等の外部での活用が進んでいなかった
どのような状態を目指していたか
- 分析ワークロードに対してスケーラブルな環境構築
- 信頼性の高い分析結果の提供
- 広告やCRM等のマーケティング領域でのデータ活用促進
比較検討したサービス
グループ会社での先行事例もあり、サービスの比較は行いませんでした。 AWSベースの既存システムからの移行なので、その面では以下が比較対象でした。
- クエリエンジン: BigQuery vs Athena
- Storage: BigQuery vs S3
比較した軸
- マーケティングへのデータ活用がテーマとなっており、GA4と親和性が高いこと
- マネージド、サーバレスな製品による運用の省力化が見込めること
選定理由
GA4との連携容易性が高い点
導入の成果
改善したかった課題はどれくらい解決されたか
分析ワークロードに対するスケーラビリティは問題なく確保されました。 また、マーケティングへデータを活用した施策も多く実施されており、解決しています。 分析のクオリティの向上については、まだ取り組んでいる最中ではありますが、開発メンバーのシステム保守工数が下がったことで、分析者へのヒアリングや改善に取り組む時間が増え、良い方向に進めていると思います。
どのような成果が得られたか
マーケティングにおけるデータ活用
これまではベーシックなタグによるリマーケティングしか行えていなかったが、以下のような施策を実施することができるようになりました。
- BigQueryにある1st-partyデータにより生成したセグメントをLooker等を経由して、各種媒体に連携(アドレサブル広告)
- GA4とGoogle Adsを連携し、GA4上で生成したセグメントをAdsに連携
- GTM Server ContainerとBigQueryの集計済みデータを連携し、Trackingデータをリッチ化したうえで、リアルタイムな媒体連携
スケーラビリティ
- AWS時代に課題となっていたスケーラビリティの確保が、BigQuery EditionsとReservationにより柔軟にコントロールできるようになりました。
- スケーラビリティが高まったことで、データのELTのリードタイムが短縮し、提供の高速化にも寄与しています。
保守性と生産性の向上
- 各種のOSSを自前で運用していた以前の基盤と比べ、マネージド, サーバレス製品を組み合わせた基盤としたことで、保守工数が下がりました。
- 分析者自身がSQLのみで手軽にデータウェアハウス、データマートを作成できるようになり、データ活用が進んでいます。
導入時の苦労・悩み
チーム内外含めAWSのナレッジはあったが、Google Cloudのナレッジがなかったため、そのキャッチアップの課題がありました。 以下の対応により、その課題の解消に努めました。
- Google Cloudのカスタマーエンジニアとの継続的なMTG
- Professional Data Engineerの習得による、基礎知識の底上げ
導入に向けた社内への説明
上長・チームへの説明
上長に対しては、既存システムとの比較資料を作成の上、説明をすることで理解いただきました。 比較資料は、信頼性、可用性、保守性、完全性、コストといったシステム観点のみでなく、今後分析を担うアナリストによる定性的な評価や、ビジネス上の戦略(マーケティング強化)との親和性といった観点での比較も記載するようにしました。
特にシステムコストが上がることはわかっていたので、移行により得られる新たな機能がビジネス(マーケティング)戦略の実現に寄与しうることを説明した点が納得感の醸成に寄与したと考えています。
また、移行と合わせて分析のクオリティの向上といった組織課題に対しても合わせてアプローチする予定であることを伝えて合意を得ました。
活用方法
BigQueryのコンソールは、MAUベースで500人ほど利用しています。 その他、Looker等のBIツール経由でも利用されています。
よく使う機能
Google製品との連携(GA4, スプレッドシート, Looker, Looker Studio)
ETL/ReverseETLの双方向で、各種Google製品と連携しています。
Information Schema
各種のInformation Schemaを活用することで、様々なオペレーションを効率化しています。
- 利用状況の可視化
- データリネージの確認
- テーブルディスクリプションとData Catalogの同期 ...etc
Scheduled Query
アナリストによるデータマート生成はScheduled QueryとComposerを連携させて行っています。 dbt, dataformによるデータ品質テストも検討していますが、学習コストの懸念もあり、未導入です。
ツールの良い点
- Google, Google Cloudとの連携が容易
- UDF, Remote UDFによるクエリの拡張
- (期待もこめて)AI/LLMとの連携
ツールの課題点
過剰利用をコントロールするのが難しいです。 プロジェクト単位、ユーザー単位でのスキャン量上限設定やReservationの最大予約slot数により制御できる部分もありますが、大量のデータを利用する分析を一時的に許可するなど、細かいコントロールが必要な場面では運用に工夫が必要です。
ツールを検討されている方へ
導入事例が豊富にあり、周辺プロダクトも充実しているため、よいサービスだと思います。
今後の展望
Datastream等のCDCサービスを活用したデータのリアルタイム化
現在データの取り込みの大半がバッチ処理による取り込みとなっています。 主に検索/ML等の推薦の用途でデータのリアルタイム化を進めていく予定です。
AI/LLMによる分析DX向上に備えたメタデータ整備
BigQuery StudioやBigQuery data canvasなどGemini in BigQueryな製品が数多くリリースされています。 こういった製品の性能を引き出すべく、メタデータの拡充を進めています。
取り組み内容は、#bq_sushi で発表していますので、興味あるかたは見てみてください。
最後に
今後もBigQueryを中心としたデータ基盤や検索/ML基盤の強化を予定しており、各種の募集をしています。
興味をもってくださる方いましたら、是非求人をご覧ください。
合同会社DMM.com / 藤井亮太
開発部長 / EM / 従業員規模: 1,001〜5,000名 / エンジニア組織: 1,001〜5,000名
## 2006 〜 2016: 金融、ソシャゲ、ECサービスのマーケティングシステムの開発に従事 2014から本格的にビッグデータ技術を触り始める(Hadoop, Presto) ## 2016 〜: DMMにデータエンジニアとして入社 データ基盤整備やセグメントエンジンなどのデータアプリケーション開発をしたのち、 レコメンド、検索、アナリストのマネージメントに従事 現在は、データ基盤開発部部長として、データ基盤、CDP基盤、ML基盤、検索基盤の開発のマネージメントを行う
よく見られているレビュー
合同会社DMM.com / 藤井亮太
開発部長 / EM / 従業員規模: 1,001〜5,000名 / エンジニア組織: 1,001〜5,000名
## 2006 〜 2016: 金融、...
レビューしているツール
目次
- アーキテクチャ
- 導入の背景・解決したかった問題
- 活用方法