Google Cloud Next Tokyo '25 に登壇しました

はじめに

TVer 広告プロダクト本部の髙品です。8月5日と6日に東京ビッグサイト南展示場で開催された Google Cloud Next Tokyo '25 に登壇させていただきました。セッションタイトルは『月間動画再生数約 5 億回を誇る TVer の、広告配信基盤における Memorystore & Bigtable 併用戦略と実践的チューニング』です。

Google Cloud Next Tokyo '25 イベントウェブサイトに掲載されたセッション概要

この記事では、登壇の振り返りと、セッション内容の簡単な紹介を書こうと思います。後日、セッションのアーカイブと資料が Google Cloud Next Tokyo のイベントウェブサイト にて公開される予定なので、この記事をきっかけに、より多くの方にセッションのアーカイブと資料をご覧いただき、TVer の広告プロダクトにご興味を持っていただけたら幸いです。

追記 (2025年8月21日)

Google Cloud Next Tokyo のイベントウェブサイトにて、セッションのアーカイブと資料が公開されました。ご覧いただくには、イベント参加登録が必要です。

セッションアーカイブと資料

イベント参加登録しても上記の URL からご覧いただけない場合は、Google Cloud Next Tokyo のイベントウェブサイトのホームから、[セッション一覧]→[ソリューション]→[データベース] と進んで、セッションタイトルでお探しください。

登壇の振り返り

私には、Google Cloud Next Tokyo '25 のブレイクアウトセッションに登壇する目的が2つありました。

  1. TVer 広告というプロダクトの技術的なアピール、すなわち月間数十億にもなる大量の広告リクエストを低レイテンシで処理する大規模システムを開発・運用していて、広告配信というビジネスクリティカルなシステムを Google Cloud 上に構築したこと
  2. 広告配信基盤のように高いパフォーマンスを要求されるシステムのアーキテクト・開発者に向けて、(1) Key-Value 型にカテゴライズされる Google Cloud の NoSQL データベースである Memorystore for Redis Cluster (MRC) と Bigtable の併用戦略、(2) Bigtable の性能を十分に引き出す方法、の2つをお伝えすること。

結果としては、目的は2つとも達成できたと感じています。

1つ目の目的は、250 名を収容可能なセッションルームが満席になったことで達成されたと感じています。いままで TVer の広告プロダクトを支えている技術について、Google Cloud Next Tokyo のような大きなテックイベントで発表したことはありませんでしたが、今回は多くの方に TVer 広告の技術的な側面を知っていただくことができました。

250 名を収容可能な Room 6 が満席の様子

2つ目の目的も、個人的には達成されたと感じています。というのも、スピーカーはセッション終了後に Ask the Speaker ブースにて、セッション参加者のご質問に回答させていただくのですが、そのブースにて他の配信事業者や、数千万の登録者を抱える大規模なWebサービス事業者に所属されている開発者の方々から、お褒めの言葉やたくさんのご質問をいただけたからです。情報を発信した直後に、私と属性の近い開発者の方々から face to face でリアクションをいただけたのは非常に嬉しくて、登壇してよかったと感じられた出来事でした。

セッション内容

セッションの内容も簡単に紹介しておきましょう。私のセッションは、4 つのセクションで構成されていました。

  1. TVerTVer 広告
  2. 広告配信と NoSQL DB
  3. MRC & Bigtable 併用戦略
  4. Bigtable 実践的チューニング

1 と 2 は導入部です。to C のプロダクトである TVer サービスに対して、TVer 広告は広告代理店様・広告主様のためのプロダクトなので認知度は高くないと考え、1 つ目のセクションでは TVer 広告の紹介をさせていただきました。2 つ目のセクションでは、TVer の広告配信基盤において、リレーショナルデータベースではなく、Key-Value 型にカテゴライズされる NoSQL データベースを採用した理由を取り上げました。弊社の広告配信基盤は、膨大な広告リクエストを低レイテンシで処理する必要があり、また、事業成長と共に合理的なコストでスケールできなければならないため、パフォーマンスと拡張性に優れた分散型の Key-Value データベース が最適な選択であった、とお話しました。

3 と 4 が本題です。3 つ目のセクションでは、弊社の広告配信基盤における MRC と Bigtable の併用戦略をお話しました。このセクションでは、広告配信・計測に必要なデータと Key-Value データベースの特徴を分析してデータストアを選ぶプロセスを紹介した後、性能試験で発生した課題をどのように解決したかをお伝えすることを通して、弊社における MRC と Bigtable の併用戦略を説明しました。弊社ではデータの一貫性、ストレージの上限、データベースの可用性のバランスを考慮して、MRC と Bigtable の強みを活かせるようにプロダクトを使い分けています。4 つ目のセクションでは、Bigtable の性能を十分に引き出すための実践的チューニング手法をお話しました。このセクションでは、アプリケーションから Bigtable にアクセスさせる負荷試験を実施した際に学んだ、Bigtable におけるデータ最適化の仕組みと、クライアント側のコネクションプールサイズと読み取りレイテンシの関係性の解説を通して、Bigtable に大量の読み取りをミリ秒で処理させるチューニング方法を説明しました。

以上がセッション内容の簡単な紹介です。気になった方はぜひセッションのアーカイブをご覧いただけると幸いです。

おわりに

Google Cloud Next Tokyo '25 では、広告配信基盤の設計〜開発のフェーズで学んだ(苦労した)出来事・経験から、MRC と Bigtable にスポットを当て、汎用的な知見を抽出してお話させていただきました。私のセッションが Google Cloud で大規模システムを設計・開発するアーキテクト・開発者の方のお役に立てば嬉しいです。

今後も TVer 広告の配信を支える技術について、テックブログや Google Cloud のイベントで発信したいと思っておりますので、ご注目いただけると嬉しいです。今回のセッションで話すことができたのは、TVer 広告を支える技術の一部です。Bigtable について様々な視点から話したように見えますが、実際は広告配信サーバーからの読み取りを高速化する手法について deep dive するセッションになっていたかなと思います。Bigtable だけ取り上げても、Bigtable に大量のデータをロードするアーキテクチャBigtable のデータ集計手法、データ量の最適化など、別の角度から話したいことがありますし、GKE やログ収集/集計基盤など、データベース以外についても機会があれば発信したいと思っています。発信をきっかけに、また Google Cloud を大規模に利用しているユーザー同士で交流できたら良いなと思っています。

最後に、登壇準備に協力してくれた弊社の広報チーム、一緒に広告配信基盤を開発したチームメンバー、そして Google Cloud のご関係者の皆様に感謝を伝えて締めくくりたいと思います。Google Cloud Next Tokyo '25 のような晴れの舞台で素晴らしい発表ができたのは、皆様のおかげです。本当にありがとうございました。