every Tech Blog

株式会社エブリーのTech Blogです。

Google CloudのData Analytics Workshopに参加してきました!

Google CloudのData Analytics Workshopに参加してきました!

こんにちは。 株式会社エブリーの開発本部データ&AIチーム(DAI)でデータエンジニアをしている吉田です。

今回は、先日参加したGoogle CloudのData Analytics Workshopについて紹介します。

はじめに

エブリーでは、各サービスからのログをデータ基盤に集約し、これをデータ分析や機械学習のために活用しています。
データ基盤の構成は、Databricks、TreasureData、そしてRedashを組み合わせたものです。
具体的には、DatabricksでETL処理を行い、そのデータをTreasureDataに保存します。
そして、Redashを用いてデータの可視化を行っています。

現在のデータ基盤には、歴史的な経緯から生じたデータ処理フローの複雑さや、全体的なコスト最適化といった課題が存在しています。
このような状況でデータ基盤の構成を見直している中、Google Cloudの方からData Analytics Workshopの案内を頂き、参加させていただきました。

Data Analytics Workshopとは

Data Analytics Workshopは、Google Cloudのスペシャリストに現状のデータ基盤/データ活用の課題をヒアリングしていただき、Google Cloudの関連サービスを用いたソリューション・アーキテクチャを提案していただくワークショップです。

ワークショップの流れ

今回のワークショップでは、Google CloudからData Analytics Specialistを中心に、Customer EngineerやSalesの方々も含む3名の方が担当してくださいました。
エブリーからは、CTOとDAIメンバー、トモニテのバックエンドエンジニアが参加しました。

ワークショップは全2日あり、以下のような流れで進められました。

  • Day 1
    • エブリーの現状のデータ基盤と課題の認識合わせ
    • 主要プロダクトのご紹介
      • 事前ヒアリングを元に、いくつかのGoogle Cloudのサービスを紹介していただきました。
  • Day2
    • アーキテクチャ案の検討
      • 我々の課題を解決するためのアーキテクチャ案を提案いただき、それについてのディスカッションを行いました。
    • ハンズオン
      • いくつかのGoogle Cloudのサービスを用いたハンズオンを行いました。

ワークショップでの学び

以下にワークショップで学びや気付きを記載します。

データ基盤の課題とアーキテクチャディスカッション

Day1では、エブリーの現状のデータ基盤と課題の認識合わせを行いました。
現行のアーキテクチャの共有だけでなく、そのアーキテクチャがなぜそのような形になったのか、AI活用に向けた取り組みの進捗、BIツールやデータガバナンスに関する課題など、データに関連する問題点を幅広くヒアリングしていただけました。
エブリーのデータ基盤には、以下のような課題が存在しています。

  • DatabricksとTreasureDataの2つの基盤にそれぞれデータ処理フローが存在するため、フローが複雑化している
  • データ活用を促進するためのデータカタログの整備とデータガバナンスの強化が必要である
  • 機械学習をプロダクトに適用するためのMLOpsの整備が求められている
  • トモニテのデータ基盤であるBigQueryのコストが増加傾向にある

これらの課題を考慮した上で、Day2ではGoogle Cloudのサービスを活用したアーキテクチャ案を提案いただきました。

提案いただいたアーキテクチャ案では、基本的にBigQueryを中心とした構成となっています。
これにより、以下のようなメリットが得られると考えられます。

  • データ処理フローを単純化できる
  • Google Cloudの他のサービスとの連携が容易になり、Google Cloudの各サービスを最大限活用できる
    • MLOps基盤としてBigQueryと連携が容易なVertexAIを利用できる
    • データカタログとしてBigQueryから自動的にメタデータを収集可能なDataplexを利用できる
  • BigQueryの強力な計算資源を活用できる

提案されたプランでは、Plan3からPlan1に向けてGoogle Cloudのサービス利用率を高めていく想定をしています。
Plan3では現行のDWHであるTreasureDataをBigQueryに移行し、Plan2ではDatabricksをGoogle CloudのSpark基盤であるDataProcに移行します。
そして、Plan1ではすべての処理をBigQueryに集約します。

Google Cloud上にデータ基盤を構築すると、BigQueryの計算資源を活用しつつ現行アーキテクチャに対してコストを抑えることが可能となります。
また、BigQuery MLなどの機能を使用が可能となります。
さらに、Google Cloudの他のサービスとの連携が容易になり、フルマネージドのデータカタログやML基盤、BIツールなどを導入しやすくなります。

提案されたアーキテクチャ案を検討した結果、現行のアーキテクチャと同等の性能を維持しつつコストを抑えることが可能だと判断しました。
しかし、移行コストの大きさやアプリ基盤との連携など、解決すべき課題も多く存在します。

今回のワークショップでは時間の制約から、アーキテクチャ案の詳細なディスカッションを行えませんでした。
しかし、ワークショップ終了後もオフィスアワーという形で、Google Cloudのスペシャリストの方々とオンラインでディスカッションする時間をいただいています。

主要プロダクトのご紹介

主要プロダクトのご紹介では、事前ヒアリングの際に伝えたLLMとデータガバナンスを中心にGoogle Cloudのサービスをご紹介いただいたので一部を以下で紹介します。

VertexAIの利点として、モデルのトレーニングからデプロイまでの一貫した操作が可能であるという点です。
これにより、MLOpsの実行が効率化されます。
さらに、Generative AI Studioの使用により、自前でファインチューニングを行うコストを削減できると考えられます。

Dataplexは、データガバナンスの運用をサポートするために、複数のサービスに分散して存在するデータに対して、データの管理単位を作成し、管理単位での権限管理を行なえます。
さらに、フルマネージドであり、Google Cloudサービスとシームレスに連携できるデータカタログとして、データカタログの管理・運用コストを削減できると考えられます。
一方、エブリーではデータカタログとしてOpenMetadataをセルフホストで使用しています。
OpenMetadataは、GCP/GCP以外も含めた様々なデータソースからの横断的なメタデータ収集が容易にできる点が魅力的ではありますが、セルフホスティング由来の運用コストなどの課題もいくつか存在しています。
そのため、使いやすさや運用コストを含め、Dataplexも選択肢の一つとして検討していきたいと考えています。

Google Cloudサービスのハンズオン

ハンズオンでは、2グループに別れて以下のサービスを用いたハンズオンを行いました。 - BigQuery ML (https://cloud.google.com/bigquery/docs/bqml-introduction?hl=ja) - BigQuery Interactive SQL Translator (https://cloud.google.com/bigquery/docs/interactive-sql-translator?hl=ja)

BigQuery MLでは、BigQuery上にあるDELISH KITCHENのイベントログを対象に、モデルのトレーニングと予測を行いました。

BigQuery SQL変換は、他のSQL言語をGoogle SQLに変換が可能なサービスです。
エブリーでは、RedashからTreasureDataへのクエリにPresto SQLを使用しているため、BigQuery基盤への移行を考えると、Presto SQLからGoogle SQLへの変換が必要となります。
現在、Redash上には約17,000件のクエリが存在しており、これらをGoogle SQLに変換する移行コストは大きな課題となります。
この問題を解決するために、BigQuery SQL変換を紹介いただき、実際に変換を試みました。
手順としてWebブラウザ上で変換前の言語を選択した後、SQLを入力してボタンを押すだけです。

その結果、標準的な関数はエラーなく変換でき、移行コストの大幅な削減が期待できると感じました。 しかし、TreasureDataの独自関数については変換が行えないため、移行コストを完全にゼロにすることは難しいと感じました。 移行を行う際は独自関数の変換にのみ注力し、標準的な関数については自動変換を行うことで、コストを抑えつつ移行を進められると考えられます。

今後の取り組み

今回提案いただいたアーキテクチャ案を参考に、エブリーのデータ基盤の改善を進めていく予定です。
データ基盤の大規模な刷新は、エンジニアリングリソースの確保や既存のデータ処理フローの移行など、多くの課題を伴います。
そのため、小規模なPoCを実施するなどして、移行の見積もりや移行後のアーキテクチャの選定を行っていく予定です。
また、ML周りのサービスなど、部分的に導入可能なサービスが存在するため、それらのサービスを活用したPoCも実施していく予定です。

おわりに

今回のワークショップでは、Google Cloudのスペシャリストの方々にエブリーのデータ基盤の課題をヒアリングしていただき、その上でGoogle Cloudのサービスを活用したアーキテクチャ案を提案いただきました。
さらに、様々なサービスの紹介も行っていただき、これらを利用してどのようなデータ活用基盤を構築するかについて様々なアイデアが湧きました。
ワークショップの開催にあたり、多くのリソースを提供していただいたGoogle Cloudの皆様に心から感謝申し上げます。