<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:media="http://search.yahoo.com/mrss/"><channel><title>データベース</title><link>https://cloud.google.com/blog/ja/products/databases/</link><description>データベース</description><atom:link href="https://cloudblog.withgoogle.com/blog/ja/products/databases/rss/" rel="self"></atom:link><language>ja</language><lastBuildDate>Fri, 16 Oct 2026 02:50:50 +0000</lastBuildDate><image><url>https://cloud.google.com/blog/ja/products/databases/static/blog/images/google.a51985becaa6.png</url><title>データベース</title><link>https://cloud.google.com/blog/ja/products/databases/</link></image><item><title>AlloyDB と Memorystore for Valkey で AI エージェントの長期記憶を実装する方法</title><link>https://cloud.google.com/blog/ja/products/databases/implementing-long-term-ai-agent-memory-in-alloydb-and-memorystore/</link><description>&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;※この投稿は米国時間 2026 年 10 月 2 日に、Google Cloud blog に&lt;/span&gt;&lt;a href="https://cloud.google.com/blog/products/databases/implementing-long-term-ai-agent-memory-in-alloydb-and-memorystore?e=48754805&amp;amp;hl=en"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;投稿&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;されたものの抄訳です。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;エンタープライズ AI エージェントが、複数日にわたる複雑なワークフローや長期にわたるタスクを実行するには、永続メモリが必要です。このブログ投稿では、短期バッファメモリに &lt;/span&gt;&lt;a href="https://docs.cloud.google.com/memorystore/docs/valkey"&gt;&lt;span style="font-style: italic; text-decoration: underline; vertical-align: baseline;"&gt;Memorystore for Valkey&lt;/span&gt;&lt;/a&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt; を、長期永続メモリに &lt;/span&gt;&lt;a href="https://cloud.google.com/alloydb/ai"&gt;&lt;span style="font-style: italic; text-decoration: underline; vertical-align: baseline;"&gt;AlloyDB AI&lt;/span&gt;&lt;/a&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt; を使用する 2 層メモリ アーキテクチャによって、重要なデータとエンタープライズ ガードレールを維持しながら、トークン消費量を最大 70% 削減する仕組みを見ていきます。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;たとえば、ユーザーの休暇の予約を支援する、パーソナライズされた旅行エージェントを構築するとします。ユーザーは数日間にわたってエージェントと何度もやり取りし、旅行プランのアイデア出しから具体的な購入・予約の検討に至るまで、さまざまな質問をします。真にシームレスなエクスペリエンスを提供するには、このエージェントは、以前のセッションで設定されたフライトの好み（例: 「直行便のみ」）、ホテルの予算、食事の要望（例: 「グルテンフリーのメニューが必要」）を記憶しておく必要があります。さらに重要なのは、会話が観光のおすすめや旅行プランの計画といった細かい内容に深入りしても、これらの重要情報を保持する必要がある点です。エージェントは、追加の質問や訪問先に関する魅力的な詳細情報によって、ユーザーの基本的な要件や決定事項を忘れたり上書きしたりすることがないようにしなければなりません。&lt;/span&gt;&lt;/p&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;ステートフルなワークフローは、LLM のステートレスな性質と本質的に矛盾する&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;AI エージェントは、マルチターンの会話や長期にわたるワークフローに活用されていますが、大規模言語モデル（LLM）はセッション間でステートレスのままとなっています。ユーザーが数日後にエージェントを再び利用する際、モデルはコンテキスト ウィンドウが空の状態で処理を開始します。アプリケーションがエージェントの長期メモリを使用して過去のコンテキストを再構築するように設計されていない限り、ユーザーは目標とコンテキストを最初から説明し直す必要があるため、ストレスのたまる断片的なユーザー体験になってしまいます。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;100 万トークンのコンテキスト ウィンドウが標準となった現在、この問題に対する手っ取り早い解決策としてよく使われるのは「コンテキスト スタッフィング」です。これは、未加工のチャット履歴からツールの実行ログまで、プロンプトに収まるあらゆるものを会話のターンごとに詰め込むというものです。実際、これは AI モデルが使用され始めた初期によく見られたパターンです。しかし、この手っ取り早い解決策では、規模が大きくなるとすぐに問題が発生します。メッセージごとのトークン消費量が倍増し、単純なプロンプトでも応答時間が 30 秒を超えるようになり、モデルでは「&lt;/span&gt;&lt;a href="https://arxiv.org/abs/2307.03172" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;lost in the middle（情報の埋もれ）&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;」と呼ばれる精度低下が生じ、大量のプロンプト テキストに埋もれた重要な指示を見落とすようになります。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;もう一つの一般的な回避策は、ローリング サマリーを使用することです。これは LLM に古いメッセージを定期的に要約して、短い文章に圧縮するよう指示する手法です。これによりプロンプトのサイズは削減されますが、LLM ベースの要約は本質的に情報の欠落を伴います。数回の圧縮を繰り返すうちに、些細ながらも重要な詳細がバックグラウンド ノイズとして除去されてしまうからです。数ターンも経つと、エージェントはユーザーが最初に設定した制約を、いつの間にか無視するようになります。以前の会話やマルチターン タスクの記憶を保持するには、ユーザー体験の低下や、新たなボトルネックの発生を回避したうえでの、よりスケーラブルなアプローチが必要であることは明らかです。&lt;/span&gt;&lt;/p&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;2 層メモリ アーキテクチャの実装&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;ガードレールと制約を遵守し、信頼性と費用対効果に優れたエンタープライズ エージェントを構築するには、&lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;2 層メモリ アーキテクチャ&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;の採用をおすすめします。&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;短期セッション バッファ&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;: トークン数で制限されたスライディング ウィンドウを使用して、アクティブな会話ターンをメモリにキャッシュします。これにより、デバイスをまたいだ複数回のやり取りでもコンテキスト ウィンドウのデータ量を一定に保ち、直近のメッセージを常に最新の状態に保つことができます。この階層では、ターンごとに 1 ミリ秒未満の高速かつ高スループットなルックアップが必要となるため、&lt;/span&gt;&lt;a href="https://docs.cloud.google.com/memorystore/docs/valkey"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Memorystore for Valkey&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; がアクティブなセッション状態の維持に最適です。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;長期永続メモリ&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;: 重要な事実、ユーザーの好み、エピソード的事実をセッションをまたいで保存します。この階層では、トランザクションの整合性、データ ガバナンス、リレーショナル データとベクトルにわたるハイブリッド検索が必要となります。これらは、&lt;/span&gt;&lt;a href="https://cloud.google.com/alloydb/ai"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;AlloyDB AI&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; がネイティブに提供する機能です。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;長期記憶とアクティブ セッション バッファの両方をリレーショナル データベースに直接保存することも可能ですが、インメモリ キャッシュを備えた 2 層アーキテクチャの方がパフォーマンスとスケーラビリティが向上します。アクティブ セッション バッファは非常に一時的なもので、会話のターンごとに 1 ミリ秒未満の高スループットな更新が必要です。これらの高頻度で発生する書き込みをインメモリ Key-Value キャッシュで処理することで、リレーショナル データベースでの書き込みの増大とテーブルの肥大化を防ぎます。これを行わないと、頻繁な行の削除や負荷の高いバキューム処理が必要になってしまいます。これは、データベースの前段にキャッシュ階層を追加して、アクセスが集中している行への高頻度なルックアップをオフロードするのと同様の仕組みです。この分業により、プライマリ データベースは負荷を抑えて応答性の高い状態を維持し、トランザクションの整合性、複雑なハイブリッド ベクトル検索、長期的な分析クエリの実行など、本来の目的にリソースを集中させることができます。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Memorystore for Valkey の短期キャッシュと AlloyDB AI のネイティブ機能を組み合わせることで、エンティティ抽出、メモリ圧縮、セッションをまたいだメモリ、ハイブリッド検索をデータベース層内で直接実行し、アクティブなプロンプトを軽量かつ高速に維持し、優れた費用対効果を実現できます。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-aside"&gt;&lt;dl&gt;
    &lt;dt&gt;aside_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;title&amp;#x27;, &amp;#x27;AlloyDB の 30 日間の無料トライアル インスタンスを使ってみる&amp;#x27;), (&amp;#x27;body&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7fdfb8c67050&amp;gt;), (&amp;#x27;btn_text&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;href&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;image&amp;#x27;, None)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;4 種類のメモリについて&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;エージェントの長期的なステートを効果的に整理するために、エージェントのメモリを、前述の短期ストレージ レイヤと長期ストレージ レイヤにわたる、互いに補完し合う 4 つのタイプにさらに分割します。&lt;/span&gt;&lt;/p&gt;
&lt;div align="left"&gt;
&lt;div style="color: #5f6368; overflow-x: auto; overflow-y: hidden; width: 100%;"&gt;
&lt;div style="color: #5f6368; overflow-x: auto; overflow-y: hidden; width: 100%;"&gt;
&lt;div style="color: #5f6368; overflow-x: auto; overflow-y: hidden; width: 100%;"&gt;
&lt;div style="color: #5f6368; overflow-x: auto; overflow-y: hidden; width: 100%;"&gt;
&lt;div style="color: #5f6368; overflow-x: auto; overflow-y: hidden; width: 100%;"&gt;
&lt;div style="color: #5f6368; overflow-x: auto; overflow-y: hidden; width: 100%;"&gt;&lt;table&gt;&lt;colgroup&gt;&lt;col/&gt;&lt;col/&gt;&lt;col/&gt;&lt;col/&gt;&lt;/colgroup&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;メモリのタイプ&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;保存される内容&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;ストレージ レイヤ&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;存続期間&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;バッファ（短期）&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;直近の未加工の会話履歴&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Memorystore for Valkey&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;アクティブなセッション&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;要約メモリ&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;古いターンの履歴を圧縮する（一般に「コンパクション」と呼ばれる）&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Memorystore for Valkey&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;マルチターン ウィンドウ&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;エピソード記憶&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;過去のアクション、イベント、ツールの出力&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;AlloyDB for PostgreSQL（構造化 SQL + 全文検索 + ベクトルによるハイブリッド検索）&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;永続的&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;エンティティとルールの記憶&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;ユーザーの好み、制約、禁止事項&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;AlloyDB for PostgreSQL（構造化 SQL + 全文検索 + ベクトルによるハイブリッド検索）&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;永続的&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;短期的な会話コンテキストを構造化された長期的なルールから分離することで、エージェントは、トークン ウィンドウを未加工のインタラクション ログで埋め尽くすことなく、関連するコンテキストをオンデマンドで取得できます。&lt;/span&gt;&lt;/p&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;階層型メモリ アーキテクチャのブループリント&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;以下の図は、アプリケーション オーケストレーション レイヤ、&lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;Memorystore for Valkey&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; の短期バッファ、&lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;AlloyDB AI&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; の長期リポジトリを接続する読み取りパスと書き込みパスの概要を示しています。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-image_full_width"&gt;






  
    &lt;div class="article-module h-c-page"&gt;
      &lt;div class="h-c-grid"&gt;
  

    &lt;figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      "
      &gt;

      
      
        
        &lt;img
            src="https://storage.googleapis.com/gweb-cloudblog-publish/images/image1_dkY04WA.max-1000x1000.jpg"
        
          alt="image1"&gt;
        
        &lt;/a&gt;
      
    &lt;/figure&gt;

  
      &lt;/div&gt;
    &lt;/div&gt;
  




&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;このシステムは、以下の 2 つの連携した実行パスで動作します。&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;読み取りパス&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;: ユーザーが質問すると、アプリケーションは &lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;Memorystore for Valkey&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; からアクティブなスライディング ウィンドウを取得し、&lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;ai.generate&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; を使用してデータベース内クエリの正規化を実行します。そして &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;ai.hybrid_search&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; を使用して &lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;AlloyDB&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; にクエリを送信し、スコープ設定されたエンティティ ルールと関連するエピソード的事実を取得します。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;書き込みパス&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;: 回答が生成されると、会話のターンはすぐに &lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;Memorystore for Valkey&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; にキャッシュされます。非同期のバックグラウンド キュー ワーカーが、会話のやり取りから構造化エンティティを抽出し、&lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;AlloyDB&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; に直接書き込みます。AlloyDB では、トランザクション自動エンベディングによってベクトル表現が即座に計算され、データベースに保存されます。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;ビジネスへの影響と費用対効果&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;開発におけるマルチターンの対話（45 ターン以上、大量のツール実行）を対象としたベンチマーク テストでは、短期キャッシュを長期永続化から分離することで、単純なコンテキスト スタッフィングと比較して、費用削減とパフォーマンス向上を実現しました。&lt;/span&gt;&lt;/p&gt;
&lt;div align="left"&gt;
&lt;div style="color: #5f6368; overflow-x: auto; overflow-y: hidden; width: 100%;"&gt;
&lt;div style="color: #5f6368; overflow-x: auto; overflow-y: hidden; width: 100%;"&gt;
&lt;div style="color: #5f6368; overflow-x: auto; overflow-y: hidden; width: 100%;"&gt;
&lt;div style="color: #5f6368; overflow-x: auto; overflow-y: hidden; width: 100%;"&gt;
&lt;div style="color: #5f6368; overflow-x: auto; overflow-y: hidden; width: 100%;"&gt;
&lt;div style="color: #5f6368; overflow-x: auto; overflow-y: hidden; width: 100%;"&gt;&lt;table&gt;&lt;colgroup&gt;&lt;col/&gt;&lt;col/&gt;&lt;col/&gt;&lt;col/&gt;&lt;/colgroup&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;指標 / ディメンション&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;単純なコンテキスト スタッフィング&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;階層型メモリ（AlloyDB + Valkey）&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;ビジネスへの最終的な影響&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;アクティブなプロンプトのサイズ（45 ターン目）&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;747,033 トークン&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;83,262 トークン&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;プロンプトが 88.9% 縮小&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;45 ターン目のレスポンス レイテンシ&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;33.5 秒&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;6.7 秒&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;80.0% 高速なレスポンス&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;ターンごとのレスポンスまでの待ち時間&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;33.5 秒&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;4.2～6.7 秒&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;36%～80% 削減&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;累積セッション トークン&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;1,790 万トークン&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;409 万トークン&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;トークンと費用を 72.0% 削減&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;ルールと制約の再現率&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;ターンごとに低下&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;低下しない&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;ACID を維持した再現率&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;注: 上記の指標は、実際のエンタープライズ AI ペア プログラミング アシスタントが、複数のセッション、プロジェクト、コンテキストの切り替えにわたって開発者とやり取りする様子を再現した、シミュレートされた開発ワークロードに基づく内部ベンチマーク結果を反映したものです。実際の費用削減とレイテンシは、プロンプトの構造、クエリの頻度、データ量によって異なります。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;これらの結果は、階層型メモリがエージェントのユニット エコノミクスをどのように変化させるかを示しています。ターンが追加されるたびに費用曲線が上昇するのではなく、プロンプト サイズが一定の範囲内に収まるため、高速の応答時間を維持しながら、継続的な LLM API 費用を削減できます。&lt;/span&gt;&lt;/p&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;AlloyDB AI の核となる技術的メリット&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;AlloyDB AI&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; は、コア AI 機能をデータベース エンジンに直接組み込むことで、永続的なエージェント メモリの実装に伴う運用上のオーバーヘッドを削減します。その主な特長は以下のとおりです。&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;データベース内トランザクション自動エンベディング（&lt;/strong&gt;&lt;a href="https://docs.cloud.google.com/alloydb/docs/ai/generate-manage-auto-embeddings-for-tables"&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt;ai.initialize_embeddings&lt;/strong&gt;&lt;/a&gt;&lt;strong style="vertical-align: baseline;"&gt;）&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;: AlloyDB は、&lt;/span&gt;&lt;a href="https://cloud.google.com/products/gemini-enterprise-agent-platform?e=48754805"&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt;Agent Platform&lt;/strong&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;（旧称 Vertex AI）とのネイティブ統合を使用して、テキスト列のベクトル エンベディングを自動的に生成し、1 秒あたり最大 3,000 個のエンベディングを処理できます。&lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;incremental_refresh_mode =&amp;gt; 'transactional'&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; を使用すると、AlloyDB は同じトランザクション内でソースデータが変更されるとエンベディングを最新の状態に保つため、カスタム エンベディング パイプライン、外部スケジューラ、複雑な再試行ロジックが不要になります。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;データベース内生成 AI 関数（&lt;/strong&gt;&lt;a href="https://docs.cloud.google.com/alloydb/docs/ai/evaluate-semantic-queries-ai-operators"&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt;ai.generate&lt;/strong&gt;&lt;/a&gt;&lt;strong style="vertical-align: baseline;"&gt;）&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;: AlloyDB では、Gemini などの基盤モデルを SQL クエリから直接実行できます。これを使用すると、データベース内でクエリを分解できます。つまり、ユーザーの複合的な質問を単一の要素からなるサブクエリに分割し、相対的な時間表現（「前回のセッション」など）を明示的な識別子に解決できます。アプリケーション側で個別にラウンドトリップを行う必要もありません。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;組み込みの Reciprocal Rank Fusion（&lt;/strong&gt;&lt;a href="https://docs.cloud.google.com/alloydb/docs/ai/run-hybrid-vector-similarity-search"&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt;ai.hybrid_search&lt;/strong&gt;&lt;/a&gt;&lt;strong style="vertical-align: baseline;"&gt;）によるネイティブ ハイブリッド検索&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;: AlloyDB は、エンジン内で直接 Reciprocal Rank Fusion（RRF）を実行する組み込み SQL 関数を提供します。ベクトル コサイン類似度（HNSW または ScaNN インデックスに対する &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;&amp;lt;=&amp;gt;&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt;）と PostgreSQL 全文検索（BM25、RUM、または GIN を使用）を 1 回のデータベース呼び出しで組み合わせ、セマンティック マッチングと正確なキーワード検索を融合させます。同時に、メタデータ フィルタ プッシュダウン（&lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;filter_condition&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt;）をサポートすることで、パフォーマンスの向上と確定的なスコープ分離を実現します。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;IAM 認証情報を使用した Agent Platform との直接統合&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;: AlloyDB は、&lt;/span&gt;&lt;a href="https://cloud.google.com/products/iam"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Google Cloud IAM&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; サービス アカウントのロールとデータベース認証を使用して、Google Cloud のプライベート ネットワーク経由で &lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;Agent Platform&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; 基盤モデルに直接接続します。これにより、アプリケーション コードで API キーを保存、ローテーション、受け渡す必要がなくなります。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;運用、ベクトル、ガバナンスの統合エンジン&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;: AlloyDB は、リレーショナル ビジネスデータ、ベクトル エンベディング、全文インデックス、エンタープライズ権限を、ACID 準拠の単一の PostgreSQL データベースに統合します。これにより、個別の運用データベースとベクトル データベース間で発生するデータのドリフトや統合の複雑さを回避できます。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;主な実装パターン&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;以下は、2 層メモリ アーキテクチャの構成に使用されるコア データベース パターンです。実行可能な完全な Python スクリプトと SQL スクリプトについては、対応する &lt;/span&gt;&lt;a href="https://codelabs.developers.google.com/alloydb-agentic-tiered-memory" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;AlloyDB エージェント メモリ Codelab&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; をご覧ください。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;1. スキーマと自動エンベディングの設定&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;AlloyDB&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; で、必要な拡張機能をインストールし、構造化メタデータ、全文検索用に生成された &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;tsvector&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; 列、ベクトル エンベディング列を含む &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;agent_entities&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; テーブルを定義します。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;quot;-- 1. Enable AI extensions\r\nCREATE EXTENSION IF NOT EXISTS google_ml_integration CASCADE;\r\nCREATE EXTENSION IF NOT EXISTS vector CASCADE;\r\nCREATE EXTENSION IF NOT EXISTS rum CASCADE;\r\n\r\n-- 2. Create structured entity &amp;amp; preference table\r\nCREATE TABLE IF NOT EXISTS agent_entities (\r\n    entity_id UUID PRIMARY KEY DEFAULT gen_random_uuid(),\r\n    user_id TEXT NOT NULL,\r\n    entity_name TEXT NOT NULL,\r\n    project_id TEXT DEFAULT &amp;#x27;global&amp;#x27;,\r\n    session_id TEXT,\r\n    scope TEXT NOT NULL DEFAULT &amp;#x27;session&amp;#x27;,\r\n    summary TEXT NOT NULL,\r\n    summary_embedding VECTOR(768),\r\n    summary_tsv TSVECTOR GENERATED ALWAYS AS (\r\n        to_tsvector(&amp;#x27;english&amp;#x27;, entity_name || &amp;#x27; &amp;#x27; || summary)\r\n    ) STORED,\r\n    updated_at TIMESTAMPTZ DEFAULT NOW(),\r\n    UNIQUE (user_id, entity_name)\r\n);&amp;quot;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7fdfb82b2e50&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;次に、&lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;ai.initialize_embeddings&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; を使用してエンベディングを生成します。&lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;トランザクション&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; モードを使用すると、ソースデータの変更に応じてエンベディングが最新の状態に保たれます。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;quot;-- Register transactional in-database auto-embedding\r\nCALL ai.initialize_embeddings(\r\n    model_id =&amp;gt; &amp;#x27;text-embedding-005&amp;#x27;,\r\n    table_name =&amp;gt; &amp;#x27;agent_entities&amp;#x27;,\r\n    content_column =&amp;gt; &amp;#x27;summary&amp;#x27;,\r\n    embedding_column =&amp;gt; &amp;#x27;summary_embedding&amp;#x27;,\r\n    incremental_refresh_mode =&amp;gt; &amp;#x27;transactional&amp;#x27;,\r\n    batch_size =&amp;gt; 10\r\n);&amp;quot;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7fdfb82b2610&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;最後に、HNSW ベクトル インデックスと RUM 全文検索インデックスを作成して、ハイブリッド検索を高速かつ効率的に行えるようにします。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;#x27;-- Create vector and full-text indexes\r\nCREATE INDEX IF NOT EXISTS agent_entities_embedding_idx\r\n    ON agent_entities USING hnsw (summary_embedding vector_cosine_ops);\r\n\r\nCREATE INDEX IF NOT EXISTS agent_entities_tsv_idx\r\n    ON agent_entities USING rum (summary_tsv rum_tsvector_ops);&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7fdfb82b1ad0&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;2. ネイティブ ハイブリッド検索による長期記憶のクエリ&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;読み取りパスで、&lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;ai.hybrid_search&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; を使用して関連する長期エンティティを取得します。このネイティブ SQL 関数は、AlloyDB で直接 Reciprocal Rank Fusion（RRF）を実行し、ベクトル類似性検索と全文キーワード検索の結果をシームレスに再ランキングして、単一のデータベース クエリに結合します。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;#x27;def retrieve_hybrid_entities(\r\n    conn,\r\n    user_id: str,\r\n    project_id: str,\r\n    query_text: str,\r\n    query_vector_literal: str,\r\n    limit: int = 3\r\n) -&amp;gt; dict[str, Any]:\r\n    &amp;quot;&amp;quot;&amp;quot;Queries long-term memory using AlloyDB native hybrid_search (RRF).&amp;quot;&amp;quot;&amp;quot;\r\n    filter_cond = f&amp;quot;user_id = \&amp;#x27;{user_id}\&amp;#x27; AND (project_id = \&amp;#x27;{project_id}\&amp;#x27; OR scope = \&amp;#x27;global\&amp;#x27;)&amp;quot;\r\n    \r\n    search_inputs = [\r\n        json.dumps({\r\n            &amp;quot;data_type&amp;quot;: &amp;quot;vector&amp;quot;,\r\n            &amp;quot;weight&amp;quot;: 0.4,\r\n            &amp;quot;table_name&amp;quot;: &amp;quot;agent_entities&amp;quot;,\r\n            &amp;quot;key_column&amp;quot;: &amp;quot;entity_name&amp;quot;,\r\n            &amp;quot;vec_column&amp;quot;: &amp;quot;summary_embedding&amp;quot;,\r\n            &amp;quot;distance_operator&amp;quot;: &amp;quot;&amp;lt;=&amp;gt;&amp;quot;,\r\n            &amp;quot;limit&amp;quot;: 10,\r\n            &amp;quot;query_vector&amp;quot;: query_vector_literal,\r\n            &amp;quot;filter_condition&amp;quot;: filter_cond\r\n        }),\r\n        json.dumps({\r\n            &amp;quot;data_type&amp;quot;: &amp;quot;text&amp;quot;,\r\n            &amp;quot;weight&amp;quot;: 0.6,\r\n            &amp;quot;table_name&amp;quot;: &amp;quot;agent_entities&amp;quot;,\r\n            &amp;quot;key_column&amp;quot;: &amp;quot;entity_name&amp;quot;,\r\n            &amp;quot;text_column&amp;quot;: &amp;quot;summary_tsv&amp;quot;,\r\n            &amp;quot;limit&amp;quot;: 10,\r\n            &amp;quot;ranking_function&amp;quot;: &amp;quot;ts_rank&amp;quot;,\r\n            &amp;quot;query_text_input&amp;quot;: query_text,\r\n            &amp;quot;filter_condition&amp;quot;: filter_cond\r\n        })\r\n    ]\r\n\r\n    query_sql = &amp;quot;&amp;quot;&amp;quot;\r\n        SELECT e.entity_name, e.summary, e.project_id, e.scope, e.updated_at\r\n        FROM ai.hybrid_search(\r\n          search_inputs =&amp;gt; %s::JSONB[],\r\n          include_json_output =&amp;gt; false\r\n        ) h\r\n        JOIN agent_entities e ON e.entity_name = h.id\r\n        WHERE e.user_id = %s\r\n        LIMIT %s;\r\n    &amp;quot;&amp;quot;&amp;quot;&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7fdfb82b3810&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;3. AI 関数を使用したデータベース内メモリ圧縮&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;カスタムのプルーニング スクリプトを記述せずに長期的なストレージの増加を管理するには、&lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;AlloyDB&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; で自動抽出および圧縮クエリを直接実行して、保存しておくべき重要な部分を特定します。このパターンでは、SQL 共通テーブル式（CTE）と &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;ai.generate&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; を使用して、古いエピソード的事実の履歴を高密度の要約に統合します。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;quot;-- Consolidate older episodic logs into a permanent summary\r\nWITH old_events AS (\r\n    SELECT document AS content\r\n    FROM langchain_pg_embedding\r\n    WHERE cmetadata-&amp;gt;&amp;gt;&amp;#x27;user_id&amp;#x27; = &amp;#x27;user_dev_42&amp;#x27;\r\n      AND created_at &amp;lt; NOW() - INTERVAL &amp;#x27;30 days&amp;#x27;\r\n    ORDER BY created_at ASC\r\n    LIMIT 50\r\n),\r\nconsolidated AS (\r\n    SELECT ai.generate(\r\n        &amp;#x27;Summarize these historical events into a dense memory paragraph:\\n&amp;#x27; || string_agg(content, E&amp;#x27;\\n&amp;#x27;),\r\n        model_id =&amp;gt; &amp;#x27;gemini-3.5-flash&amp;#x27;\r\n    ) AS summary_text\r\n    FROM old_events\r\n)\r\nINSERT INTO agent_entities (user_id, entity_name, summary, updated_at)\r\nSELECT &amp;#x27;user_dev_42&amp;#x27;, &amp;#x27;longterm_session_summary&amp;#x27;, summary_text, NOW()\r\nFROM consolidated\r\nWHERE summary_text IS NOT NULL\r\nON CONFLICT (user_id, entity_name)\r\nDO UPDATE SET summary = EXCLUDED.summary, updated_at = NOW();&amp;quot;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7fdf923ba850&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;たとえば、子どもを連れて飛行機を乗り継ぐことの複雑さに関する長いやり取りを、「直行便を希望」という要約にまとめることができます。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;4. 2 層メモリ アーキテクチャの ADK エージェントへの接続&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;コアの 2 層メモリ アーキテクチャを構成したら、&lt;/span&gt;&lt;a href="https://codelabs.developers.google.com/alloydb-agentic-tiered-memory#14" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;対応する Codelab&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; で示されるように、デフォルトの ADK Memory プロバイダを拡張して、この 2 層メモリ アーキテクチャを使用できます（例: &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;ADKTieredMemoryProvider&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt;）。長期記憶を ADK エージェントにアタッチするには、次のようにツール（例: &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;longterm_memory_tool&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt;）として提供するだけです。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;#x27;from adk_memory_provider import ADKTieredMemoryProvider\r\n\r\nagent = Agent(\r\n    name=&amp;quot;adk_memory_agent&amp;quot;, model=GEMINI_MODEL, instruction=&amp;quot;Initial instruction&amp;quot;,\r\n    tools=[long_term_memory_tool, run_command_tool],\r\n    before_tool_callback=guardrail.create_before_tool_callback(USER_ID, &amp;quot;CloudRetail&amp;quot;)\r\n)&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7fdf93431610&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;エンタープライズ ガバナンスとマルチテナント セキュリティ&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;エンタープライズの本番環境でエージェント メモリを実行するには、厳格なセキュリティ境界とアクセス制御が必要です。まず、&lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;スコープとマルチテナントの分離&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;を維持する必要があります。&lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;agent_entities&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; の &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;user_id&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt;、&lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;project_id&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt;、&lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;scope&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; 列にインデックスを付け、PostgreSQL の行レベル セキュリティ（RLS）を適用することで、同じデータベース クラスタ内の部門、チーム、個々のユーザー間でメモリストアを分離できます。&lt;/span&gt;&lt;a href="https://docs.cloud.google.com/alloydb/docs/parameterized-secure-views-overview"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;パラメータ化されたセキュアビュー&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;（PSV）は、もう一つの確定的なアプリケーション レベルのセキュリティ レイヤを提供し、悪意のあるプロンプトや過度に広範な SQL クエリから保護するのに役立ちます。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;さらに、上記の実装パターンに示すように、&lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;メモリ ライフサイクルの自動管理&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;を提供する必要があります。スケジュールされた SQL コンパクション クエリと時間ベースのパーティション プルーニングを組み合わせることで、データベースのフットプリントとクエリのレイテンシを長期にわたって予測可能な状態に維持できます。このアプローチの詳細については、&lt;/span&gt;&lt;a href="https://codelabs.developers.google.com/alloydb-agentic-tiered-memory" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;対応する Codelab&lt;/span&gt;&lt;/a&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt; &lt;/span&gt;&lt;span style="vertical-align: baseline;"&gt;をご覧ください。&lt;/span&gt;&lt;/p&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;まとめと次のステップ&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;アクティブなコンテキスト ウィンドウを永続ストレージから分離することは、プロダクション レディな AI エージェントを構築するための実用的なアプローチです。1 ミリ秒未満のセッション キャッシュを実現する &lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;Memorystore for Valkey&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; と、トランザクション対応の長期ストレージである &lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;AlloyDB AI&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; を組み合わせることで、長期にわたるタスクや複数ターンのエージェント エクスペリエンス全体で厳格なビジネスルールを維持しながら、トークン費用を大幅に削減し、応答時間を短縮できます。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;利用方法は次のとおりです。&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;対応する &lt;/span&gt;&lt;a href="https://codelabs.developers.google.com/alloydb-agentic-tiered-memory" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;AlloyDB エージェント メモリ Codelab&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; の実践的なチュートリアルを最後まで進め、実際に動作する 2 層メモリ アーキテクチャをデプロイします。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;データベース側の ML 機能の詳細については、&lt;/span&gt;&lt;a href="https://cloud.google.com/alloydb/docs/ai/overview"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;AlloyDB AI のドキュメント&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;をご覧ください。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;a href="https://docs.cloud.google.com/alloydb/docs/ai/generate-manage-auto-embeddings-for-tables"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;自動ベクトル エンベディングの生成&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;と&lt;/span&gt;&lt;a href="https://docs.cloud.google.com/alloydb/docs/ai/run-hybrid-vector-similarity-search"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;ハイブリッド ベクトル検索の実行&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;に関するガイドをご覧ください。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong style="font-style: italic; vertical-align: baseline;"&gt;- &lt;/strong&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;Google、AlloyDB AI シニア エンジニアリング マネージャー、&lt;/span&gt;&lt;strong style="font-style: italic; vertical-align: baseline;"&gt;Itai Rosenblatt&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="font-style: italic; vertical-align: baseline;"&gt;- &lt;/strong&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;Google、AlloyDB AI / Cloud SQL 担当プロダクト マネージャー、&lt;/span&gt;&lt;strong style="font-style: italic; vertical-align: baseline;"&gt;Paul Ramsey&lt;/strong&gt;&lt;/p&gt;&lt;/div&gt;</description><pubDate>Fri, 16 Oct 2026 02:00:00 +0000</pubDate><guid>https://cloud.google.com/blog/ja/products/databases/implementing-long-term-ai-agent-memory-in-alloydb-and-memorystore/</guid><category>Databases</category><og xmlns:og="http://ogp.me/ns#"><type>article</type><title>AlloyDB と Memorystore for Valkey で AI エージェントの長期記憶を実装する方法</title><description></description><site_name>Google</site_name><url>https://cloud.google.com/blog/ja/products/databases/implementing-long-term-ai-agent-memory-in-alloydb-and-memorystore/</url></og><author xmlns:author="http://www.w3.org/2005/Atom"><name>Itai Rosenblatt</name><title>Senior Engineering Manager, AlloyDB AI, Google</title><department></department><company></company></author><author xmlns:author="http://www.w3.org/2005/Atom"><name>Paul Ramsey</name><title>Product Manager, Google</title><department></department><company></company></author></item><item><title>Spanner キューの発表: エージェント ワークロードとその先を支えるトランザクション メッセージング</title><link>https://cloud.google.com/blog/ja/products/databases/spanner-queues-provide-native-transactional-messaging/</link><description>&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;※この投稿は米国時間 2026 年 10 月 3 日に、Google Cloud blog に&lt;/span&gt;&lt;a href="https://cloud.google.com/blog/products/databases/spanner-queues-provide-native-transactional-messaging?e=48754805&amp;amp;hl=en"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;投稿&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;されたものの抄訳です。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;AI エージェントは、クエリに回答するだけでなく、自律的に払い戻しを行ったり、在庫を管理したり、複数ステップのハンドオフを実行したり、サブエージェントをオーケストレートしたりできます。これらは、複雑なエージェント型ワークフローのほんの一例です。そのため、多くの場合、エージェントは運用データベースで内部状態を維持しながら、別のメッセージング システムやイベントキュー システムを介して非同期アクションをディスパッチする必要があります。残念ながら、これらのアプリケーションを構築するチームにとって、commit ポイントが異なる 2 つのシステムを管理することは、エージェント システムにおけるトランザクションの一貫性を破壊することになります。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;このたび、&lt;/span&gt;&lt;a href="https://docs.cloud.google.com/spanner/docs/queues/queues-overview"&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt;Spanner キュー&lt;/strong&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;の一般提供が開始されました。これは、Spanner に直接組み込まれたネイティブなトランザクション メッセージング機能です。Spanner キューは、信頼性の高いエージェント実行に特化して設計されており、メッセージの作成はトランザクションにおける単なる書き込み操作にすぎません。エージェントの状態変更と、意図したダウンストリーム アクションは、アトミックにまとめて commit されるか、完全に失敗します。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;これを従来のアプローチと比較してみましょう。データベースの状態の更新は成功したものの、アクションのディスパッチが失敗した場合、AI エージェントは行動を決定したにもかかわらず、実際には実行されないという状態になります。メッセージのディスパッチが成功しても、状態トランザクションがロールバックされると、エージェントは無効な状態に基づいてアクションを実行します。非同期のマルチエージェント調整では、再試行、投機的実行、競合状態によってこれらの障害が増幅され、開発者は複雑なアウトボックス パターン、べき等性レイヤ、データ整合ワーカーを構築せざるを得なくなります。これは、エージェント アーキテクチャにおける信頼性担保のための大きな負担となります。&lt;/span&gt;&lt;/p&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;エージェント アーキテクチャの主な機能&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Spanner キューは、インフラストラクチャのオーバーヘッドを発生させることなく、こうした複雑な非同期ワークフローをサポートするいくつかのコア機能を提供します。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;アトミックな「意思決定とアクション」のエンキュー。&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;単一の Spanner 読み取り / 書き込みトランザクション内で、エージェントは内部メモリまたは状態テーブルを更新し、同時にピア エージェントへのタスクをエンキューできます。Spanner の厳格な直列化可能性とグローバルな外部整合性に支えられ、状態の変化と実行インテントは 1 つのアトミックな単位として commit されます。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;スケジュール実行と遅延実行。&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;キュー メッセージは、commit 時にすぐにディスパッチすることも、将来の配信をスケジュールすることもできます。遅延再試行、スケジュールされたエージェント チェックイン、SLA エスカレーション タイマーなどのエージェント型パターンは、外部の cron スケジューラやポーリング インフラストラクチャを必要とせずに、メモリの更新とともにトランザクション的にエンキューできます。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;エージェント ワーカー向けのストリーミング SQL pull。&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;自律型エージェントは、ストリーミング SQL 読み取りを使用してタスクを動的に取り込んで処理します。エージェント ランタイムは、受信タスクをストリーミングしながら、処理能力に空きができ次第それらを処理し、トランザクション内でタスクの完了を確認応答（ACK）することで、エンドツーエンドのタスク実行状態の信頼性を保証します。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;エピソード記憶の永続性とハンドオフ。&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;エージェント メモリの更新（長期的なエピソードの要約、内省的な状態遷移、サブエージェント間のコンテキストのハンドオフなど）は、キューを介して非同期かつトランザクション的に永続化できます。これにより、リアルタイムのインタラクティブなターンをブロックすることなく、エージェントの内部メモリが実行履歴と完全に同期された状態に保たれます。&lt;/span&gt;&lt;/p&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;Spanner キューが自律型エージェントに不可欠な理由&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;トランザクションによる exactly-once のエージェント実行: &lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;エージェントがツール呼び出しの結果を評価すると、状態の変更、推論の永続化、ダウンストリーム ツール呼び出しタスクが 1 つのトランザクションに保存されます。少なくとも 1 回の配信と、最大 1 回の ACK を保証することで、exactly-once の処理を実現できます。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;堅牢なマルチエージェント オーケストレーションとハンドオフ:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; マルチエージェント システム（A2A）では、プライマリ エージェントからスペシャリスト エージェントへの状態のハンドオフは、永続的でトランザクション的に commit されたメッセージとして処理されます。スペシャリスト エージェント ワーカーは、エージェント間のやり取りの完全に監査可能なリネージを維持しながら、配信されたメッセージを受信します。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;ファースト クラスのタイムアウトと人間参加型ワークフロー:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; エージェント ワークフローでは、人間の承認やスケジュールされたフォローアップのために一時停止が必要になることがよくあります。Spanner キューはタイムアウト管理をネイティブに処理します。単一のトランザクションが承認待ち状態を記録し、自動エスカレーション メッセージをスケジュールして、どちらか先にトリガーされた方の処理を確定させます。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;エージェント キューの SQL ネイティブなオブザーバビリティ:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; 処理中のエージェント ワークロードの検査、タスク バックログのモニタリング、エージェント実行履歴の監査は、キューテーブルに対する標準 SQL クエリで実行できるため、中身の見えないメッセージストアのブラックボックス化を防ぐことができます。&lt;/span&gt;&lt;/p&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;エージェント ワークフローの先&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;AI エージェント以外にも、Spanner キューは、さまざまな従来のイベント ドリブン アーキテクチャに対応する柔軟な多目的メッセージング プラットフォームとして機能します。ソーシャル アプリケーションでのリアルタイムのアクティビティ フィードの強化、ニュース配信でのライブ情報の提供、小売業での注文処理と在庫ワークフローのオーケストレーション、金融サービスでの高スループットの非同期タスク処理とトランザクション通知の処理など、Spanner キューは、プライマリ データベース内での非同期メッセージ配信とトランザクション イベント ドリブン ワークフローのための堅牢な基盤を提供します。&lt;/span&gt;&lt;/p&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;仕組み: Spanner キューのトランザクション メカニズム&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Spanner キューは Spanner のファースト クラスのリレーショナル構造として表されるため、使い慣れた GoogleSQL を使用してキューを定義、検査、管理できます。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;1. キューの定義とアトミックなエンキュー&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;エージェントが顧客への払い戻しを承認すると、単一の ACID トランザクション内で Orders テーブルを更新し、OrderAgentTasks キューに実行タスクをディスパッチします。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;#x27;-- Assume parent table:\r\n-- CREATE TABLE Orders (\r\n--   OrderId STRING(64) NOT NULL, ...\r\n-- )\r\n-- PRIMARY KEY (OrderId);\r\n\r\n-- Define the transactional queue table\r\nCREATE QUEUE OrderAgentTasks (\r\n  OrderId STRING(64) NOT NULL,\r\n  TaskId STRING(64) NOT NULL,\r\n  TaskType STRING(64) NOT NULL,\r\n  Payload JSON NOT NULL\r\n) PRIMARY KEY (OrderId, TaskId, TaskType), INTERLEAVE IN Orders;\r\n\r\n-- Inside a Read-Write Transaction:\r\n-- 1. Update business state atomically\r\n\r\n-- BEGIN TRANSACTION;\r\n\r\nUPDATE Orders\r\nSET Status = \&amp;#x27;REFUND_APPROVED\&amp;#x27;,\r\n    UpdatedAt = PENDING_COMMIT_TIMESTAMP()\r\nWHERE OrderId = @orderId;\r\n\r\n-- 2. Enqueue the asynchronous agent action in the same transaction\r\nINSERT INTO OrderAgentTasks (OrderId, TaskId, TaskType, Payload)\r\nVALUES (\r\n  @orderId,\r\n  @taskId,\r\n  \&amp;#x27;EXECUTE_REFUND\&amp;#x27;,\r\n  JSON \&amp;#x27;{&amp;quot;action&amp;quot;: &amp;quot;execute_refund&amp;quot;, &amp;quot;amount&amp;quot;: 49.99}\&amp;#x27;\r\n);\r\n\r\n-- COMMIT;&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7fdf926bb3d0&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;これにより、注文ステータスが REFUND_APPROVED に正常に移行した場合に限り、EXECUTE_REFUND タスクが存在するようになります。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;2. 時間的スケジューリングとアトミックなキャンセル&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;エスカレーション前にマネージャーの承認を最大 72 時間待つなど、時間に依存するワークフローの場合、エージェントはシステム DeliverTime 列に値を入力して、メッセージの可視性を遅らせます。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;#x27;-- Schedule an automated escalation check-in 72 hours in the future\r\nINSERT INTO OrderAgentTasks (OrderId, TaskId, TaskType, Payload, DeliverTime)\r\nVALUES (\r\n  @orderId,\r\n  @escalationTaskId,\r\n  \&amp;#x27;ESCALATE_UNAPPROVED_ORDER\&amp;#x27;,\r\n  JSON \&amp;#x27;{&amp;quot;action&amp;quot;: &amp;quot;escalate_to_supervisor&amp;quot;}\&amp;#x27;,\r\n  TIMESTAMP_ADD(CURRENT_TIMESTAMP(), INTERVAL 72 HOUR)\r\n);&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7fdf926b8d50&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;マネージャーが 4 時間後にリクエストを承認した場合、アプリケーションは数日後に発生するファントム エスカレーション アラートに対処する必要はありません。1 回のトランザクションで、標準 SQL DELETE を使用して注文ステータスを更新し、保留中のエスカレーション タスクをキャンセルします。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;quot;-- BEGIN TRANSACTION;\r\n\r\nUPDATE Orders\r\nSET Status = &amp;#x27;MANAGER_APPROVED&amp;#x27;,\r\n    ApprovedBy = @managerId\r\nWHERE OrderId = @orderId;\r\n\r\n-- Atomically cancel the pending delayed escalation task. `ASSERT_ROWS_MODIFIED 1` will\r\n-- act as a safeguard and cause a statement level error.\r\n\r\n-- A statement level error can be captured and the transaction can be\r\n-- user-aborted/cancelled in case the queue entry was already deleted.\r\n-- Otherwise the transaction will complete successfully regardless if the \r\n-- queue entry still exists and you&amp;#x27;ll only know if a queue entry was deleted by\r\n-- checking the number of rows affected by the DELETE.\r\nDELETE FROM OrderAgentTasks\r\nWHERE OrderId = @orderId\r\n  AND TaskId = @escalationTaskId\r\n  AND TaskType = &amp;#x27;ESCALATE_UNAPPROVED_ORDER&amp;#x27;,\r\nASSERT_ROWS_MODIFIED 1;\r\n\r\n-- COMMIT;&amp;quot;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7fdf926bab50&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;3. ストリーミング消費、リースの更新、アトミックな確認応答&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;ダウンストリーム エージェント ワーカーは、ストリーミング SQL 接続（ExecuteStreamingSql）経由で RECEIVE_&amp;lt;QueueName&amp;gt; テーブル値関数（TVF）を使用してタスクを消費します。Spanner はメッセージ リースを自動的に管理し、リースされたタスクごとに一意の SpannerLeaseToken と有効期限のタイムスタンプを返します。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;quot;-- Step 1: Consume tasks via a long-lived streaming SQL query\r\nSELECT\r\n  OrderId,\r\n  TaskId,\r\n  TaskType,\r\n  Payload,\r\n  SpannerLeaseToken,\r\n  SpannerLeaseExpirationTimestamp\r\nFROM RECEIVE_OrderAgentTasks(max_duration =&amp;gt; &amp;#x27;20m&amp;#x27;);&amp;quot;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7fdf926b86d0&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;AI エージェントのタスクには、デフォルトのリース期間よりも長い時間を要するマルチターン LLM 推論や外部 API 呼び出しが含まれることが多いため、ワーカーは RENEWLEASE_&amp;lt;QueueName&amp;gt; 関数を使用してリースを積極的に延長できます。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;#x27;-- Step 2: Extend lease ownership during long-running agent execution\r\nSELECT *\r\nFROM RENEWLEASE_OrderAgentTasks(lease_tokens =&amp;gt; [@leaseToken]);&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7fdf926b8d90&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;エージェントは、外部ツールの実行を完了すると（このとき TaskId を外部 API のべき等キーとして渡します）、読み取り / 書き込みトランザクションを開いて最終状態を記録し、ASSERT_ROWS_MODIFIED 1 を使用してメッセージを削除することで確認応答（ACK）を行います。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;quot;-- Step 3: Atomically checkpoint agent results and ACK the message\r\n-- BEGIN TRANSACTION;\r\n\r\nUPDATE Orders\r\nSET RefundTransactionId = @externalRefundId,\r\n    Status = &amp;#x27;REFUND_COMPLETED&amp;#x27;\r\nWHERE OrderId = @orderId;\r\n\r\nDELETE FROM OrderAgentTasks\r\nWHERE OrderId = @orderId\r\n  AND TaskId = @taskId\r\n  AND TaskType = @taskType\r\nASSERT_ROWS_MODIFIED 1;\r\n\r\n-- COMMIT;&amp;quot;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7fdf91f23a50&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;ASSERT_ROWS_MODIFIED 1 を使用すると、リースの期限切れに伴う競合状態からシステムを保護できます。ネットワークの一時停止が原因でワーカーが停止し、リースが期限切れになった場合、別のワーカーがすでにタスクを処理して削除している可能性があります。停止したワーカーが再開してステートメントを実行しようとすると、ASSERT_ROWS_MODIFIED 1 は、キュー行がすでに存在しないことを検出し、ステートメント レベルのエラーをスローします。このエラーをキャッチしてトランザクションを中止することで、古いワーカーが新しいデータベースの状態を上書きするのを防ぎます。&lt;/span&gt;&lt;/p&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;Spanner 変更ストリームと Spanner キューの比較&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Spanner の変更ストリームは、データベースのデータ変更（挿入、更新、削除）を準リアルタイムでキャプチャし、ダウンストリームの統合や監査に提供します。変更ストリームとキューはどちらも、アプリケーションがデータの変更を検知して処理できるようにするものですが、Spanner の変更ストリームは、継続的な変更データ キャプチャ（CDC）や、ダウンストリームの分析 / ストレージへのデータ ストリーミング向けに設計されています。一方、Spanner キューは、トランザクション タスクのオーケストレーション向けに明示的に設計されており、ネイティブ メッセージ リース、スケジュール配信、SQL ベースの pull、読み取り / 書き込みトランザクション内でのアトミックな確認応答をサポートしています。&lt;/span&gt;&lt;/p&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;使ってみる&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Spanner は、リレーショナル、ハイブリッド検索、グラフ、Key-Value の機能を厳格なグローバル整合性の下で組み合わせ、エージェント データのための統合された基盤を提供します。Spanner キューは、エージェントが単一の統合プラットフォーム内でデータの推論からトランザクション アクションの実行にシームレスに移行できるようにすることで、エージェント ループを完成させます。Spanner キューの一般提供が開始されました。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://console.cloud.google.com/freetrial?redirectPath=%2Fspanner&amp;amp;facet_utm_source=google&amp;amp;facet_utm_campaign=%28organic%29&amp;amp;facet_utm_medium=organic&amp;amp;facet_url=https%3A%2F%2Fcloud.google.com%2Fblog%2Fproducts%2Fspanner%2Ftry-cloud-spanner-databases"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Spanner の 90 日間無料トライアル&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;に登録し、&lt;/span&gt;&lt;a href="https://cloud.google.com/spanner/docs/queues/queues-overview"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;公開ドキュメント&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;をお読みください。Spanner データベースにキューテーブルを作成して、復元力のある exactly-once のエージェント ワークロードの構築を今すぐ開始できます。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="font-style: italic; vertical-align: baseline;"&gt;- &lt;/strong&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;プロダクト マネージャー、&lt;/span&gt;&lt;strong style="font-style: italic; vertical-align: baseline;"&gt;Nitin Sagar&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="font-style: italic; vertical-align: baseline;"&gt;- &lt;/strong&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;エンジニアリング マネージャー兼 Cloud Spanner データ ストリーミング リード、&lt;/span&gt;&lt;strong style="font-style: italic; vertical-align: baseline;"&gt;Matthew Mucklo&lt;/strong&gt;&lt;/p&gt;&lt;/div&gt;</description><pubDate>Thu, 15 Oct 2026 02:30:00 +0000</pubDate><guid>https://cloud.google.com/blog/ja/products/databases/spanner-queues-provide-native-transactional-messaging/</guid><category>Spanner</category><category>Databases</category><media:content height="540" url="https://storage.googleapis.com/gweb-cloudblog-publish/images/image1_bE1RXzx.max-600x600.png" width="540"></media:content><og xmlns:og="http://ogp.me/ns#"><type>article</type><title>Spanner キューの発表: エージェント ワークロードとその先を支えるトランザクション メッセージング</title><description></description><image>https://storage.googleapis.com/gweb-cloudblog-publish/images/image1_bE1RXzx.max-600x600.png</image><site_name>Google</site_name><url>https://cloud.google.com/blog/ja/products/databases/spanner-queues-provide-native-transactional-messaging/</url></og><author xmlns:author="http://www.w3.org/2005/Atom"><name>Nitin Sagar</name><title>Product Manager</title><department></department><company></company></author><author xmlns:author="http://www.w3.org/2005/Atom"><name>Matthew Mucklo</name><title>Engineering Manager &amp; Lead Cloud Spanner Data Streaming</title><department></department><company></company></author></item><item><title>Apache Iceberg を自動管理して大規模展開する: Spanner を活用した Lakehouse ランタイム カタログ</title><link>https://cloud.google.com/blog/ja/products/data-analytics/lakehouse-runtime-catalog-powered-by-spanner/</link><description>&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;※この投稿は米国時間 2026 年 10 月 7 日に、Google Cloud blog に&lt;/span&gt;&lt;a href="https://cloud.google.com/blog/products/data-analytics/lakehouse-runtime-catalog-powered-by-spanner?e=0&amp;amp;hl=en"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;投稿&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;されたものの抄訳です。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;企業がレイクハウス アーキテクチャへとモダナイズを進めるなかで、Apache Iceberg などのオープン フォーマットに準拠した共有データ資産を作成し、複数のエンジンで使用できるようにするという動きが広がっています。このように、AI ネイティブなレイクハウスを構築すれば、データをセマンティックな知識に変換したり、プロアクティブにアクションを実行したりするなど、エージェントの規模での運用が可能となります。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;レイクハウスの主要コンポーネントの一つはカタログであり、Apache Iceberg 環境では通常、Iceberg REST カタログがこれに該当します。Apache Iceberg カタログは、テーブル ポインタの維持や、アトミック コミットの処理といった役割を担うほか、テーブルの場所に関する信頼できる唯一の情報源となります。しかし、大規模なエンタープライズがレイクハウスへとモダナイズするにしたがって、スケーラビリティと可用性を備えたマネージド カタログがレイクハウス アーキテクチャの一部として必要であるという認識が生まれつつあります。エージェントによるクエリの量が増えるにつれて、この重要性はさらに増していきます。エージェントが繰り返し実行する大量の細かなクエリに対応するために、基盤のマネージド カタログには、アトミック性、整合性、可用性、同時実行性を大規模なスケールで提供する能力が求められます。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;このブログ投稿では、エージェント規模へと広がる最新のクラウド環境においてマネージド カタログが直面する課題を考察するとともに、Google Cloud のサーバーレスの&lt;/span&gt;&lt;a href="https://cloud.google.com/blog/ja/products/data-analytics/biglake-metastore-now-supports-iceberg-rest-catalog?e=a&amp;amp;hl=ja"&gt;&lt;span style="vertical-align: baseline;"&gt; &lt;/span&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Lakehouse ランタイム カタログ&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;がこうした課題の解決にどのように役立つかについて説明します。Lakehouse ランタイム カタログは、Google Cloud の常時稼働データベースである &lt;/span&gt;&lt;a href="https://cloud.google.com/spanner?e=a&amp;amp;hl=ja"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Spanner&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;（実質的に無制限で拡張可能）を基盤とし、オープンな Apache Iceberg REST カタログ仕様に準拠しています。これにより、エージェントの時代に必要なスケーラビリティと可用性を提供する基盤となります。&lt;/span&gt;&lt;/p&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;レイクハウスのマネージド カタログが直面する課題&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;データ エンジニアやインフラストラクチャ責任者の方々に話を伺うと、レイクハウスで大規模に本番環境の分析を行うことに関して、以下のような共通した課題を抱えています。これらはすべて、マネージド カタログにおいて解決すべきものです。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;アトミック コミットと同時実行制御:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; Iceberg は、オプティミスティック同時実行制御（OCC）により、ACID トランザクションを保証しています。したがって、マネージド カタログに強固なアトミック比較交換（CAS）オペレーションを実装し、現在のメタデータ ポインタをスワップする必要があります。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;高可用性と運用保守:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; カタログがダウンすると、クエリはその瞬間からエラーとなります。そのため、マネージド カタログは最重要な Tier-1 サービスに位置付けられます。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;カタログを支えるデータベースのスケーリング:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; カタログの設計者は往々にして、テーブルのメタデータおよび状態の保存用データベースの選択において、難しいジレンマに陥ります。従来のスケールアップ型のリレーショナル データベースは SQL に対応しており、ACID トランザクションを提供しますが、読み取り / 書き込みの同時実行処理が増えると、CPU、メモリ、ストレージ、接続数が垂直方向の限界に達します。これを回避するには、手動でのシャーディングが必要となりますが、その場合は、運用上のオーバーヘッドが膨大になります。一方、スケールアウト型のデータベース システムは、即時整合性が得られない、管理が困難、エンタープライズに対応できない、といった問題があります。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;テーブルのメンテナンス作業:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; カタログは、データの最適化まではしてくれません。人間の担当者が、データの圧縮、古いスナップショットの消去、マニフェストの書き換え、孤立ファイルのクリーンアップといった補助パイプラインを構築して運用する必要があります。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;ガバナンスとセキュリティ:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; カタログは、セキュリティの門番として、以下を実装して維持することが求められます。&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;認証プロトコル（OAuth2 トークン交換、IAM 連携など）&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;名前空間からテーブルレベルまでのアクセス制御&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;一時的なストレージ認証情報（例: クエリエンジンに対して、広範なストレージに直接アクセスできる認証情報ではなく、有効期間の短いトークンを生成する）&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;Lakehouse ランタイム カタログ&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;これらの課題を解決するために、Google は Iceberg REST カタログをサポートする Lakehouse ランタイム カタログ（一般提供）を構築しました。Lakehouse ランタイム カタログは、高可用性を備えた完全にサーバーレスな統合メタデータ レジストリであり、Apache Iceberg などの最新のオープンなテーブル フォーマットをサポートするようにゼロから設計されています。&lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt; &lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;Lakehouse ランタイム カタログでは、Apache Iceberg REST カタログ仕様をネイティブに実装することで&lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;、&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;メタデータ検出をコンピューティング エンジンから分離しています。これにより、複数の Iceberg 互換エンジンが共有データ資産にアクセスできるようになり、ワークロードを迅速に本番環境に移すことが可能となります。Google はすでに、多くのお客様がマネージド カタログの移行をスムーズに行えるよう支援してきました。たとえば、&lt;/span&gt;&lt;a href="https://cloud.google.com/customers/etsy-lakehouse"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Etsy&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; は Lakehouse ランタイム カタログへと移行し、データを動かさずに結合することで、パイプライン クエリを 60% 高速化しています。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-image_full_width"&gt;






  
    &lt;div class="article-module h-c-page"&gt;
      &lt;div class="h-c-grid"&gt;
  

    &lt;figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      "
      &gt;

      
      
        
        &lt;img
            src="https://storage.googleapis.com/gweb-cloudblog-publish/images/1_bmVFk8w.max-1000x1000.jpg"
        
          alt="1"&gt;
        
        &lt;/a&gt;
      
    &lt;/figure&gt;

  
      &lt;/div&gt;
    &lt;/div&gt;
  




&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;このアプローチには、アーキテクチャ上のメリットが以下のように多数あります。&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;オープン API&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;: Iceberg REST カタログがサポートされているため、ユーザーは単一の統合データセットに対してさまざまな分析ツールを自由に使用できます。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;マルチエンジンの相互運用性&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;: 登録されたテーブルは、標準の REST インターフェースを介して、Google Cloud Managed Service for Apache Spark、BigQuery、オープンソース エンジンで即座に検出やクエリが可能になります。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt; Iceberg テーブルの&lt;/strong&gt;&lt;a href="https://cloud.google.com/blog/products/data-analytics/the-future-of-data-lakehouse-for-the-agentic-era?e=0"&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt;読み取り / 書き込みの相互運用性&lt;/strong&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;: BigQuery、Managed Spark などの Iceberg 互換エンジンを使用して、Lakehouse ランタイム カタログに登録されている Iceberg テーブルに書き込めます。また、Managed Spark を使用して、外部カタログの Iceberg テーブルに書き込むこともできます。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;エンタープライズ グレードの機能を備えたフルマネージドの Iceberg ストレージ: &lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;Google &lt;/span&gt;&lt;a href="https://cloud.google.com/blog/ja/products/data-analytics/unveiling-new-bigquery-capabilities-for-the-agentic-era?e=0&amp;amp;hl=ja"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;独自のインフラストラクチャ&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;を使用し、Iceberg テーブルでパフォーマンスの高い分析を実行できます。これにより、オープンソースの柔軟性に加え、パフォーマンス、スケーリング、ガバナンス、マルチモーダル処理のメリットが得られます。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;データコピー不要&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;: テーブル定義は、基盤となるオブジェクト ストアの既存データを直接参照します。基盤となるデータの移動、書き換え、複製を行う必要はありません。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;クラウド間の双方向のカタログ連携&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;: 一時的な認証情報と OIDC トークン交換がサポートされており、&lt;/span&gt;&lt;a href="https://docs.cloud.google.com/lakehouse/docs/set-up-cross-cloud-connection-databricks"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Databricks Unity&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;、&lt;/span&gt;&lt;a href="https://docs.cloud.google.com/lakehouse/docs/set-up-cross-cloud-connection-snowflake"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Snowflake Horizon&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;、&lt;/span&gt;&lt;a href="https://docs.cloud.google.com/lakehouse/docs/set-up-cross-cloud-connection-aws-glue"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;AWS Glue&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; のデータにアクセスできます。これにより、Google AI を&lt;/span&gt;&lt;a href="https://cloud.google.com/blog/ja/products/data-analytics/introducing-the-borderless-lakehouse?e=0&amp;amp;hl=ja"&gt;&lt;span style="vertical-align: baseline;"&gt; &lt;/span&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;AWS や Azure のデータに直接&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;適用することが可能です。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;一時的な認証情報によるセキュアなアクセス&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;: カタログは複数の認可メカニズムに対応しており、&lt;/span&gt;&lt;a href="https://docs.cloud.google.com/lakehouse/docs/credential-vending"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;一時的な認証情報&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;とエンドユーザー認証情報のいずれかを選択できます。そのため、一時的な認証情報などの最新方式を使って、基盤となるオブジェクト ストア（Cloud Storage、AWS S3、Azure Blob Storage）内のファイルに直接アクセスすることなく、テーブルにアクセスすることが可能です。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;AI を活用したコンテキストとガバナンス: &lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;Lakehouse ランタイム カタログは、&lt;/span&gt;&lt;a href="https://cloud.google.com/products/knowledge-catalog"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Knowledge Catalog&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; および &lt;/span&gt;&lt;a href="https://cloud.google.com/products/iam?e=0"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Cloud IAM&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; と直接統合されているため、エージェント用の信頼できるコンテキストを定義したり、すべてのコンピューティング エンジンにテーブルレベルのセキュリティを一貫して適用したりできます。また、カタログ内の Iceberg テーブルの検索や、リネージや分析情報の取得にあらかじめ対応しています。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;アトミック コミットによる同時実行制御、高可用性、スケーラビリティ: &lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;Google の地球規模のインフラストラクチャと Spanner を基盤としたアーキテクチャによって、データに合わせてメタデータをスケールするために必要な高可用性、同時実行性、スケーラビリティが得られます。たとえば、Cloud Storage のデュアル リージョン バケットとマルチリージョン バケットのサポートにより、フェイルオーバーのユースケースに対応できます。また、サーバーレスな NoOps 環境によって TCO 削減につながるほか、あらゆるサイズのワークロードに対応可能なスケーラビリティを得られます。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;Lakehouse ランタイム カタログの原動力&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Lakehouse ランタイム カタログは &lt;/span&gt;&lt;a href="https://cloud.google.com/spanner"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Spanner&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; 上に構築されているため、高可用性、同時実行性、スケーラビリティに優れているのに加えて、強整合性が保証されています。従来のスケールアップ型のリレーショナル データベースが、単一ノード内で垂直方向の限界に達するのに対し、Spanner は、読み取りと書き込みの両方で水平方向にスケールアウトできるという NoSQL システムならではの柔軟性に加え、完全なリレーショナル SQL のセマンティクス、複数テーブルでの ACID トランザクションというメリットを提供します。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Spanner の&lt;/span&gt;&lt;a href="https://docs.cloud.google.com/spanner/docs/instance-configurations#regional-configurations"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;リージョン構成&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;では最大 99.99% の可用性が得られ、Lakehouse ランタイム カタログにおいて高可用性を実現できます。さらに、Spanner が自動的なスケーラビリティを Lakehouse ランタイム カタログに提供します。Spanner は水平方向にスケーラブルなデータベースであるため、手動でのシェーディングは必要なく、コンピューティングおよびストレージのリソースが自動的かつ透過的にスケールされます。具体的には、Spanner がデータ量とクエリ負荷を動的にモニタリングし、データ範囲を分割して、ノード間で再分配します。コンピューティング ノードは、CPU 使用率とストレージのしきい値に基づいて、動的にスケールされます。また、スプリット レベルで過負荷を自動検出し、過負荷状態のノードから重いスプリットを移動します。また、Spanner によって、「リレーショナルの整合性」と「分散によるスケーラビリティ」の間の&lt;/span&gt;&lt;a href="https://dl.acm.org/doi/abs/10.1145/2491245?__cf_chl_tk=oi5rkZKtX5q2CR93K9mrIHsAp_oqRxwaGqqpqq99v9Y-1790923307-1.0.1.1-pNUQvRr4OBosWiOcfxGuTWTD8I3JW_8V0i5xLuCsErU" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;従来のトレードオフ&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;が解消され、Lakehouse ランタイム カタログのユーザーは業界最高水準の&lt;/span&gt;&lt;a href="https://docs.cloud.google.com/spanner/docs/true-time-external-consistency"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;整合性保証&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;を享受できます。Lakehouse のトランザクションはシリアル化されており、データベース内のトランザクションの順序は、クライアント側でトランザクションのコミットが観察される順序と一致します。この基盤によって、Lakehouse ユーザーは、エージェント規模での運用を実現できます。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;さらに、エージェント ユースケースへの対応を強化するため、Lakehouse ランタイム カタログは Knowledge Catalog と直接統合されており、レイクハウス内の Iceberg テーブルを簡単に検出して、信頼できるコンテキストをエージェントに提供することができます。Spanner が提供する&lt;/span&gt;&lt;a href="https://docs.cloud.google.com/spanner/docs/full-text-search"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;全文検索&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;とネイティブの&lt;/span&gt;&lt;a href="https://docs.cloud.google.com/spanner/docs/vector-search-overview"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;ベクトル検索&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;という効率的な組み合わせを Knowledge Catalog で活用して、単一のクエリ内で語彙キーワード検索とセマンティック エンベディングを併用し、検索の再現率を高められます。これらの 2 種類のインデックス タイプは同じベース データセット上に構築されており、ベーステーブルが DML で操作されると、トランザクションの ACID 整合性を厳密に保ちながらインデックスが更新されます。そのため、運用上のオーバーヘッド、たとえば、同期パイプライン、外部ベクトル、全文検索システムの管理といった作業が発生しません。簡潔に言うと、Lakehouse ランタイム カタログを使用すると、エージェントのユースケースを迅速に市場に投入することが可能となります。&lt;/span&gt;&lt;/p&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;分析と運用のワークロードを組み合わせる&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Apache Iceberg をベースにした、Google Cloud のボーダーレスな Lakehouse なら、分析データを運用ワークロードと組み合わせることができます。ユースケースとしては、Lakehouse のデータアセットと Spanner からの OLTP データを組み合わせて分析を実行する、Spanner やその他の運用データベースからレイクハウスのアセットにアクセスして低レイテンシのアプリケーションを実現する、ファースト パーティおよびサードパーティのエージェントで会話型分析を行う、など多岐にわたるものがあります。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Lakehouse ランタイム カタログと Spanner の動作の例を以下に示します。この例では、マンハッタンのタクシー運行に関する分析データ（Apache Iceberg）と、タクシーのゾーンに関する運用データ（Spanner）を組み合わせて、最も混雑している交通経路を特定しています。さらに、会話型分析エージェントを使ってこの同じデータにアクセスし、二次的な分析情報を取得しています。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-image_full_width"&gt;






  
    &lt;div class="article-module h-c-page"&gt;
      &lt;div class="h-c-grid"&gt;
  

    &lt;figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      "
      &gt;

      
      
        
        &lt;img
            src="https://storage.googleapis.com/gweb-cloudblog-publish/original_images/2_TvlKrOP.gif"
        
          alt="2"&gt;
        
        &lt;/a&gt;
      
        &lt;figcaption class="article-image__caption "&gt;&lt;p data-block-key="cjj42"&gt;マンハッタンで最も混雑している交通ルートを調べる&lt;/p&gt;&lt;/figcaption&gt;
      
    &lt;/figure&gt;

  
      &lt;/div&gt;
    &lt;/div&gt;
  




&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;ボーダーレスな Lakehouse にモダナイズ&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Google Cloud の &lt;/span&gt;&lt;a href="https://cloud.google.com/solutions/data-lakehouse"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Lakehouse&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; にモダナイズすることによって、分析エンジンやエージェント間のデータサイロを最小限に抑える、マルチエンジンのガバナンスを統合する、信頼できるコンテキストをエージェントに提供する、運用コストを大幅に削減する、といったメリットが得られます。Spanner ベースの Lakehouse &lt;/span&gt;&lt;a href="https://docs.cloud.google.com/lakehouse/docs/set-up-lakehouse-iceberg-rest-catalog"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;ランタイム カタログ&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;を活用し、最新のクラウド環境をエージェント規模で運用する基盤を整えましょう。詳細および無料トライアルについては、&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://cloud.google.com/products/lakehouse?e=a"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Lakehouse&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; のウェブページをご覧ください。Spanner の詳細については&lt;/span&gt;&lt;a href="https://cloud.google.com/spanner"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;こちら&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;をご覧ください。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="font-style: italic; vertical-align: baseline;"&gt;- &lt;/strong&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;プロダクト マネージャー、&lt;/span&gt;&lt;strong style="font-style: italic; vertical-align: baseline;"&gt;Vinod Ramachandran&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="font-style: italic; vertical-align: baseline;"&gt;- &lt;/strong&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;ソフトウェア エンジニアリング マネージャー&lt;/span&gt;&lt;strong style="font-style: italic; vertical-align: baseline;"&gt; Mina Mikhail&lt;/strong&gt;&lt;/p&gt;&lt;/div&gt;</description><pubDate>Wed, 14 Oct 2026 02:35:00 +0000</pubDate><guid>https://cloud.google.com/blog/ja/products/data-analytics/lakehouse-runtime-catalog-powered-by-spanner/</guid><category>Databases</category><category>Data Analytics</category><og xmlns:og="http://ogp.me/ns#"><type>article</type><title>Apache Iceberg を自動管理して大規模展開する: Spanner を活用した Lakehouse ランタイム カタログ</title><description></description><site_name>Google</site_name><url>https://cloud.google.com/blog/ja/products/data-analytics/lakehouse-runtime-catalog-powered-by-spanner/</url></og><author xmlns:author="http://www.w3.org/2005/Atom"><name>Vinod Ramachandran</name><title>Product Manager</title><department></department><company></company></author><author xmlns:author="http://www.w3.org/2005/Atom"><name>Mina Mikhail</name><title>Software Engineering Manager</title><department></department><company></company></author></item><item><title>AlloyDB: ハイブリッド検索のための統合データベース エンジン</title><link>https://cloud.google.com/blog/ja/products/databases/simplify-ai-search-with-alloydb-hybrid-search-and-rrf/</link><description>&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;※この投稿は米国時間 2026 年 10 月 6 日に、Google Cloud blog に&lt;/span&gt;&lt;a href="https://cloud.google.com/blog/products/databases/simplify-ai-search-with-alloydb-hybrid-search-and-rrf?e=0&amp;amp;hl=en"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;投稿&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;されたものの抄訳です。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;最新の AI アプリケーションや RAG アプリケーションで高い検索関連性を実現するには、少なくとも 2 つの手法を組み合わせる必要があります。それは、セマンティックなコンテキストを把握するためのベクトル検索と、キーワードの精度を高めるための全文検索（FTS）です。AlloyDB for PostgreSQL はこれら両方の機能に対応していますが、従来、これらの機能を管理して最高のパフォーマンスを確保するには、より多くの手作業を伴う運用アプローチが必要でした。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;難しいのは、検索を実行することではなく、その検索結果を統合することです。ベクトルクエリ（距離スコア）と FTS クエリ（関連性スコア）の結果を統合するには、複雑な SQL クエリや、アプリケーション レイヤ側でのカスタムコードの実装が必要です。そのため多くの場合、結果の統合、スコアの正規化、再ランキングのための別システムを維持管理する手間が発生します。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;この記事では、AlloyDB AI のハイブリッド検索がこの複雑さを解消する仕組みを詳しくご紹介します。最近のアップデートによって実現した、以下の機能を順に見ていきます。&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;ハイブリッド検索の簡素化:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; 複雑な SQL クエリや複数ステップのアプリケーション ワークフローを、Reciprocal Rank Fusion（&lt;/span&gt;&lt;a href="https://docs.cloud.google.com/alloydb/docs/ai/run-hybrid-vector-similarity-search#rank-fusion"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;RRF&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;）を活用した単一の高性能 SQL 関数に統合します。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;FTS のパフォーマンス最適化:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; 新しい RUM 拡張機能を使用して、単語の位置をインデックスに直接保存することで、低レイテンシの関連性ランキングと効率的なフレーズ マッチを実現します。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;業界標準のランキングの活用:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; &lt;/span&gt;&lt;a href="https://cloud.google.com/blog/ja/products/databases/native-bm25-search-in-alloydb-and-cloud-sql?e=0&amp;amp;hl=ja"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;ネイティブにサポートされる新しい BM25 インデックス&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;を利用して、キーワード ベースの優れたスコアリングをすぐに利用できます。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;検索の汎用性の拡張:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; 新しい外部検索用の外部データラッパー（FDW）を使用して、AlloyDB 環境を離れることなく、Elasticsearch、OpenSearch、Solr などの特化型の外部クラスタに対してクエリを実行できます。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;複数ステップのワークフローの問題&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;AlloyDB AI のネイティブ ソリューションが登場する前は、堅牢なハイブリッド検索の実現は非常に骨の折れる作業でした。特に、標準 SQL を使用してこのロジックをデータベース内で完結させようとするデベロッパーにとっては困難な課題でした。そうしたアプローチでは複数のステップからなるオーケストレーションが必要となりますが、2 つのソースを管理、維持するだけでも困難なうえ、ソースが追加されるとスケーリングが事実上不可能になります。具体的には、以下のような手順が必要でした。&lt;/span&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li aria-level="1" style="list-style-type: decimal; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;ベクトル検索を実行する:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; ベクトル列またはベクトル インデックス（AlloyDB の場合は ScaNN インデックス）を使用してクエリを実行し、Top-K の検索結果を見つけてベクトルスコアを生成します。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: decimal; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;FTS クエリを実行する:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; 汎用転置インデックス（GIN）を使用して Top-K の結果を検索するなどして、FTS クエリを実行します。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: decimal; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;スコアを正規化する（脆弱なステップ）:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; 複雑な SQL ロジックやカスタム アプリケーション コードを記述して、両方の結果セットを共通のスケールにマッピングします。このロジックは、データの分布が変化すると破綻する恐れがあります。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: decimal; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;クロスサービス結合と再ランキングを実行する:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; ベクトル検索に使用するシステムとは別のシステムで FTS 検索を行う場合は、アプリケーション メモリを使用してドキュメント ID に対し複雑な FULL OUTER JOIN を実行し、正規化されたスコアの加重合計を適用して、最後に結合された結果を並べ替えます。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;このような分散型のアプローチは、スコアロジックの脆弱化、レイテンシの増加、運用負荷の上昇を招き、検索品質の維持作業が属人化してアプリケーション開発者に大きな負担がかかり続ける原因となっていました。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-image_full_width"&gt;






  
    &lt;div class="article-module h-c-page"&gt;
      &lt;div class="h-c-grid"&gt;
  

    &lt;figure class="article-image--medium
      
      
        h-c-grid__col
        
        h-c-grid__col--4 h-c-grid__col--offset-4
        
      "
      &gt;

      
      
        
        &lt;img
            src="https://storage.googleapis.com/gweb-cloudblog-publish/images/1_XqX6b2x.max-1000x1000.png"
        
          alt="1"&gt;
        
        &lt;/a&gt;
      
    &lt;/figure&gt;

  
      &lt;/div&gt;
    &lt;/div&gt;
  




&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;AlloyDB でハイブリッド検索アーキテクチャを簡素化&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;これを簡素化する鍵は、RRF を採用することです。RRF は本質的にランクベースであるため、スコア正規化という脆弱なステップをスマートに回避できます。RRF は次の 2 つの要素で構成されています。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;1. 信頼できる唯一の情報源&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;複数のステップからなるフェッチと結合の処理を行う代わりに、1 つの SQL 関数を呼び出して、検索コンポーネントを宣言型の JSON 配列として渡します。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;SQL&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;#x27;SELECT id, score \r\nFROM ai.hybrid_search(\r\n    search_inputs =&amp;gt; ARRAY[\r\n        -- Vector Component (Semantic) with dynamic embedding generation from natural language\r\n        $json${\r\n            &amp;quot;data_type&amp;quot;: &amp;quot;vector&amp;quot;,\r\n            &amp;quot;limit&amp;quot;: 10,\r\n            &amp;quot;table_name&amp;quot;: &amp;quot;documents&amp;quot;,\r\n            &amp;quot;key_column&amp;quot;: &amp;quot;doc_id&amp;quot;,\r\n            &amp;quot;vec_column&amp;quot;: &amp;quot;embedding&amp;quot;,\r\n            &amp;quot;distance_operator&amp;quot;: &amp;quot;&amp;lt;=&amp;gt;&amp;quot;,\r\n            &amp;quot;query_vector&amp;quot;: &amp;quot;ai.embedding(\&amp;#x27;text-embedding-005\&amp;#x27;, \&amp;#x27;alloydb search\&amp;#x27;)::vector&amp;quot;\r\n        }$json$::jsonb,\r\n        \r\n        -- Text Component (Keyword)\r\n        $json${\r\n            &amp;quot;data_type&amp;quot;: &amp;quot;text&amp;quot;,\r\n            &amp;quot;limit&amp;quot;: 10,\r\n            &amp;quot;table_name&amp;quot;: &amp;quot;documents&amp;quot;,\r\n            &amp;quot;key_column&amp;quot;: &amp;quot;doc_id&amp;quot;,\r\n            &amp;quot;text_column&amp;quot;: &amp;quot;content&amp;quot;,\r\n            &amp;quot;query_text_input&amp;quot;: &amp;quot;alloydb search&amp;quot;\r\n        }$json$::jsonb\r\n    ]\r\n);&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7fdf92906410&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;（注: 統合された &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;ai.hybrid_search&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; API は、2 つのコンポーネントだけに限定されるものではありません。また、新しい FDW を介して外部検索ソースをネイティブにサポートします。）&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;2. データベース ネイティブのオーケストレーション&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;hybrid_search() 関数は、ワークフロー全体を単一のクエリプランで実行するため、オーバーヘッドを最小限に抑えながらトランザクションの整合性を確保することができます。この関数は、以下の処理を行います。&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;動的な CTE 生成:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; この関数は動的 SQL を構築して、各コンポーネントの共通テーブル式（CTE）を作成します。各 CTE は、結果の順位（ROW_NUMBER()）の計算を担います。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;カーネルレベルでの融合:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; ランキングされたすべてのコンポーネントの結果が、ドキュメント ID に基づく FULL OUTER JOIN を使用して直ちに結合されます。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;最終的な RRF スコア:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; 結合されたランクから、RRF の数式に基づいて最終的な統合スコアが算出されます。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;
&lt;div class="block-image_full_width"&gt;






  
    &lt;div class="article-module h-c-page"&gt;
      &lt;div class="h-c-grid"&gt;
  

    &lt;figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      "
      &gt;

      
      
        
        &lt;img
            src="https://storage.googleapis.com/gweb-cloudblog-publish/images/2_bAjNPuH.max-1000x1000.jpg"
        
          alt="2"&gt;
        
        &lt;/a&gt;
      
    &lt;/figure&gt;

  
      &lt;/div&gt;
    &lt;/div&gt;
  




&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;このアプローチを採用することで、脆弱なスコア計算処理や、アプリケーション側での結合が不要になります。現在のランキング アルゴリズムは Reciprocal Rank Fusion（RRF）ですが、追加の結合オプションとランキング オプションを今後導入していく予定です。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-image_full_width"&gt;






  
    &lt;div class="article-module h-c-page"&gt;
      &lt;div class="h-c-grid"&gt;
  

    &lt;figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      "
      &gt;

      
      
        
        &lt;img
            src="https://storage.googleapis.com/gweb-cloudblog-publish/images/3_534j9B2.max-1000x1000.jpg"
        
          alt="3"&gt;
        
        &lt;/a&gt;
      
    &lt;/figure&gt;

  
      &lt;/div&gt;
    &lt;/div&gt;
  




&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;結果: パフォーマンスと運用の簡素化&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;複雑な外部ワークフローからネイティブ SQL 関数への移行は、即座に目に見えるメリットをもたらします。&lt;/span&gt;&lt;/p&gt;
&lt;div align="left"&gt;
&lt;div style="color: #5f6368; overflow-x: auto; overflow-y: hidden; width: 100%;"&gt;
&lt;div style="color: #5f6368; overflow-x: auto; overflow-y: hidden; width: 100%;"&gt;
&lt;div style="color: #5f6368; overflow-x: auto; overflow-y: hidden; width: 100%;"&gt;&lt;table&gt;&lt;colgroup&gt;&lt;col/&gt;&lt;col/&gt;&lt;col/&gt;&lt;/colgroup&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;指標&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;複数ステップのアプリケーション ワークフロー（手動 SQL によるシミュレーション）&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;AlloyDB AI ネイティブの hybrid_search() UDF&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;コードの複雑さ&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;複雑なスコア正規化関数、サービス呼び出し、アプリケーション結合。&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;外部ロジック不要。宣言型の SQL 呼び出し 1 回のみ。&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;維持管理&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;正規化数式の継続的な調整。&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;チューニング不要。RRF はランクベースで、分布に依存しない。&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;FTS のパフォーマンスを向上: RUM 拡張機能&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;AlloyDB AI の hybrid_search() 関数は、高パフォーマンスのベクトル検索と FTS を組み合わせることで、網羅的で関連性の高い検索結果を返すように設計されています。AlloyDB のネイティブ FTS 機能は、強力である一方、テキスト コンポーネントに標準の PostgreSQL GIN インデックスを使用しているため、高度なオペレーションではボトルネックになる可能性があります。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;GIN インデックスの課題は、単語の出現位置の情報が保存されないことです。この制限があるため、以下のような処理を行う際はコストのかかるテーブル スキャンを実行して再分析せざるを得なくなります。&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;関連性ランキング:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; 単語の近接性と頻度に基づいて検索結果のスコアを計算する。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;フレーズ検索:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; 正確な語順を見つける。出現位置の情報が必要。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;FTS のレイテンシを低減する RUM 拡張機能のご紹介&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;RUM 拡張機能&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;は、GIN をベースにした強力なインデックス アクセス手法で、これらのパフォーマンスの課題を直接解決します。&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;RUM の主な利点:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; GIN インデックス（単語 -&amp;gt; [docID] をマッピング）とは異なり、RUM インデックスは各単語の出現位置の情報をインデックス内に直接保存します（例: 単語 -&amp;gt; [(docID1, [pos])], ...）。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;パフォーマンス上のメリット:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; これにより、RUM はランキングやフレーズ照合などの複雑なオペレーションを主にインデックス自体の中で実行できるため、コストのかかるヒープスキャンを回避できます。RUM を使用することで、関連性ランキングが大幅に高速化され、フレーズ検索や近接検索も効率的に行えるようになります。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;ハイブリッド検索に最適:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; RUM は、ハイブリッド検索フレームワークにおいてベクトル検索（ScaNN など）を補完する極めて重要な要素です。GIN はレイテンシが発生するリスクがあるため、リアルタイムのハイブリッド処理にはあまり適していません。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;RUM 拡張機能は、ランキング重視のアプリケーションや同時実行性の高い検索アプリケーションに最適です。単語の出現位置をインデックスに直接保存することで、ランキング処理中にテーブルページを再スキャンする必要がなくなり、並べ替え済みの結果を高速に返すことができます。ただし、インデックスの構築が遅くなり、ディスク使用量が増えるというトレードオフもあります。書き込み速度やストレージ密度よりも、高速なクエリと正確なランキングが優先されるワークロードであれば、RUM は投資する価値が十分にあります。&lt;/span&gt;&lt;/p&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;測定可能な成果とインテグレーション&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;RUM を採用すると、AlloyDB の FTS のパフォーマンスが直接的に向上します。単体の FTS クエリはもちろん、FTS クエリを含むハイブリッド検索のパフォーマンスも向上します。以下は、さまざまな &lt;/span&gt;&lt;a href="https://github.com/beir-cellar/beir" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;BEIR&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; データセットにおける、GIN と比較した RUM のパフォーマンス向上率を示した統計データです。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-image_full_width"&gt;






  
    &lt;div class="article-module h-c-page"&gt;
      &lt;div class="h-c-grid"&gt;
  

    &lt;figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      "
      &gt;

      
      
        
        &lt;img
            src="https://storage.googleapis.com/gweb-cloudblog-publish/images/4_rFbNdqQ.max-1000x1000.png"
        
          alt="4"&gt;
        
        &lt;/a&gt;
      
        &lt;figcaption class="article-image__caption "&gt;&lt;p data-block-key="7eyx0"&gt;（パフォーマンスは、&lt;a href="https://github.com/beir-cellar/beir"&gt;BEIR Natural Questions ベンチマーク&lt;/a&gt;を使用したテストに基づきます）。&lt;/p&gt;&lt;/figcaption&gt;
      
    &lt;/figure&gt;

  
      &lt;/div&gt;
    &lt;/div&gt;
  




&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;RUM は、検索とランキングに特化した &amp;lt;=&amp;gt; 距離演算子と統合されており、ハイブリッド検索の SQL 呼び出しで使用できるため、双方の長所を活かすことができます。次の &lt;/span&gt;&lt;a href="https://codelabs.developers.google.com/next26/alloydb-ai-hybrid-search" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Codelab&lt;/span&gt;&lt;/a&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt; &lt;/span&gt;&lt;span style="vertical-align: baseline;"&gt;では、ハイブリッド検索 UDF で RUM インデックスを構成して使用する方法を説明します。&lt;/span&gt;&lt;/p&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;BM25 インデックスの導入: 最新のランキング標準&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Google はこのたび、CloudSQL と AlloyDB に &lt;/span&gt;&lt;a href="https://docs.cloud.google.com/alloydb/docs/ai/create-bm25-index"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;BM25 インデックス&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;をプレビュー版として導入し、pg_textsearch 拡張機能を通じて業界標準の関連性ランキングを利用できるようにしました。BM25 は、用語頻度飽和と文書長正規化を考慮した &lt;/span&gt;&lt;a href="https://en.wikipedia.org/wiki/Tf%E2%80%93idf" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;TF-IDF&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; を使用して、キーワードベースの検索クエリの精度と品質を大幅に向上させます。AlloyDB AI 内のネイティブ BM25 インデックスを活用することで、導入してすぐに高いランキング精度を達成できます。外部の検索エンジンや複雑なカスタム スコアリング ロジックの実装が不要になり、完全一致の用語や重要なキーワードに高いスコアが自動的に割り当てられます。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;quot;-- Install pg_textsearch extension\r\nCREATE EXTENSION pg_textsearch;\r\n\r\n-- Create the native BM25 index on the content column\r\nCREATE INDEX idx_docs_bm25 \r\nON cymbal_products \r\nUSING bm25 (product_description) \r\nWITH (text_config=&amp;#x27;english&amp;#x27;);\r\n\r\n-- Full text search query\r\nSELECT product_name, product_description &amp;lt;@&amp;gt; &amp;#x27;cherry tree&amp;#x27; AS bm25_score \r\nFROM cymbal_products\r\nORDER BY bm25_score \r\nLIMIT 5;&amp;quot;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7fdf922feed0&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;外部検索: 外部データラッパーで汎用性を拡大&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;検索機能をさらに拡張するため、外部検索用の外部データラッパー（&lt;/span&gt;&lt;a href="https://docs.cloud.google.com/alloydb/docs/reference/extensions#fdw-extensions"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;FDW&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;）も AlloyDB AI に導入しました。これにより、Elasticsearch、OpenSearch、Solr をはじめとする特化型の外部クラスタに対する全文検索が可能になり、アーキテクチャ面で以下のような重要なメリットを得られます。&lt;/span&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li aria-level="1" style="list-style-type: decimal; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;最適化された検索:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; AlloyDB 環境を離れることなく、専用の検索バックエンドからランキング アルゴリズムと豊富な機能セットを活用できます。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: decimal; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;統合された SQL インターフェース:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; 高度な FTS クエリの表現力を維持したまま、標準の PostgreSQL SQL を使用して外部データを操作し、結合を実行して、結果を統合できます。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: decimal; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;優れたポータビリティ:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; 既存の検索インフラストラクチャをそのまま維持しながら、AlloyDB AI が提供するシンプルなハイブリッド アーキテクチャのメリットを享受できます。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;以下の Codelab は、&lt;/span&gt;&lt;a href="https://codelabs.developers.google.com/next26/alloydb-elastic?hl=en#0" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Elasticsearch&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; と&lt;/span&gt;&lt;a href="https://codelabs.developers.google.com/alloydb-solr-fdw?hl=en#0" rel="noopener" target="_blank"&gt;&lt;span style="vertical-align: baseline;"&gt; &lt;/span&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Solr&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; のインテグレーションを使用したハイブリッド検索について説明する、エンドツーエンドのコードガイドです。&lt;/span&gt;&lt;/p&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;AI を活用した検索のための統合アーキテクチャ&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;最先端の検索における真の課題は、技術的そのものではなく、アーキテクチャの簡素化と長期にわたる運用の安定性を両立させることにあります。AlloyDB AI は、以下の 3 つのコア イノベーションを基盤とした統合プラットフォームによってこの問題を解決します。&lt;/span&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li aria-level="1" style="list-style-type: decimal; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;ハイブリッド検索の簡素化:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; RRF を活用した AlloyDB AI のハイブリッド検索機能は、脆弱な複数ステップのアプリケーション ワークフローを、単一の高性能な SQL 呼び出しに変換します。このネイティブ実装により、複雑なスコア正規化やアプリケーション側での結合が不要になります。その結果、運用コストとエンジニアリング コストを大幅に削減しながら、一貫して正確で高速かつ関連性の高いハイブリッド検索結果を提供できます。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: decimal; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;FTS パフォーマンスの最適化:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; ハイブリッド検索における FTS コンポーネントが多様なアプリケーション要件を満たせるよう、AlloyDB AI はさまざまな全文検索オプションを提供しています。RUM 拡張機能は、出現位置データをインデックスに直接保存することで、関連性ランキングの高速化と効率的なフレーズ検索を可能にし、低レイテンシなパフォーマンスを実現します&lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;。&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;これは、高速なクエリが求められる場合に重要です。一方、BM25 インデックスは業界標準の関連性ランキングを提供するため、キーワード スコアリングの精度を優先する場合に推奨される選択肢です。検索レイテンシとランキング精度のどちらを重視するかによって使い分けることができます。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: decimal; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;外部検索による汎用性の向上:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; FDW を介した外部検索を追加することで、AlloyDB は Elasticsearch などの特化型の検索バックエンドとも連携できるようになります。これにより、使い慣れた PostgreSQL インターフェースはそのままに、特化型検索クラスタの大規模な処理能力と高度な検索機能を活用できます。これらの外部結果をハイブリッド検索フレームワークに直接統合することで、AlloyDB AI は、非常に大規模なテキスト リポジトリとベクトルベースのセマンティック分析情報を組み合わせることができます。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;AlloyDB AI は、スコアリング、結合、再ランキングという複雑な処理をデータベース カーネル内に集約し、FTS を実現する 2 通りの方法（最適化された低レイテンシの内部 FTS に RUM を活用する、または特化型のスケーラブルなバックエンドに外部検索を活用する）を提供することで、堅牢で自己完結型の検索基盤を実現します。この 2 つの方法の共存が、ハイブリッド検索の実現を根本から支え、ワークロード、データ量、既存のインフラストラクチャに基づいて最適な方法を選択できる柔軟性をもたらします。これにより、検索アーキテクチャの優れたパフォーマンスとメンテナンス性の高さを信頼して、インテリジェントなアプリケーション機能の開発に集中できるようになります。&lt;/span&gt;&lt;/p&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;デモ動画のご紹介&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;AlloyDB が&lt;/span&gt;&lt;a href="https://www.youtube.com/watch?v=vYB0P9rPXt8" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;究極のハイブリッド検索エンジン&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;と呼ばれる理由を、ぜひ動画でご確認ください。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=-JxQb-kjFHk" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;AlloyDB での BM25 のサポート&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;についての詳細をご覧ください。&lt;/span&gt;&lt;/p&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;ご利用にあたって&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;AI ワークロードのスピードと費用対効果を向上させる準備はできていますか？&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;AlloyDB を初めてご利用の場合:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; &lt;/span&gt;&lt;a href="https://docs.cloud.google.com/alloydb/docs/free-trial-cluster"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;30 日間の無料トライアル&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;で AlloyDB をお試しください。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;ハイブリッド検索を使ってみる&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;: &lt;/span&gt;&lt;a href="https://docs.cloud.google.com/alloydb/docs/ai/full-text-search-overview"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;テキスト検索インデックス&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;を設定し、&lt;/span&gt;&lt;a href="https://docs.cloud.google.com/alloydb/docs/ai/choose-index-strategy"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;ベクトル検索インデックス&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;を選択します。インデックスを作成すると、さまざまなハイブリッド検索クエリ実行するための&lt;/span&gt;&lt;a href="https://docs.cloud.google.com/alloydb/docs/ai/run-hybrid-vector-similarity-search"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;サンプル&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;を確認できます。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;外部検索&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;: AlloyDB に外部データラッパーと外部テーブルを作成し、&lt;/span&gt;&lt;a href="https://docs.cloud.google.com/alloydb/docs/elastic-search"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Elasticsearch&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;、&lt;/span&gt;&lt;a href="https://docs.cloud.google.com/alloydb/docs/solr-search"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Solr&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;、&lt;/span&gt;&lt;a href="https://docs.cloud.google.com/alloydb/docs/opensearch"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;OpenSearch&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; から外部データをクエリします。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong style="font-style: italic; vertical-align: baseline;"&gt;- &lt;/strong&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;データベース担当シニア プロダクト マネージャー&lt;/span&gt;&lt;strong style="font-style: italic; vertical-align: baseline;"&gt; Kumar Ramamurthy&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="font-style: italic; vertical-align: baseline;"&gt;- &lt;/strong&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;データベース担当ソフトウェア エンジニア&lt;/span&gt;&lt;strong style="font-style: italic; vertical-align: baseline;"&gt; Ricky Zhou&lt;/strong&gt;&lt;/p&gt;&lt;/div&gt;</description><pubDate>Wed, 14 Oct 2026 02:30:00 +0000</pubDate><guid>https://cloud.google.com/blog/ja/products/databases/simplify-ai-search-with-alloydb-hybrid-search-and-rrf/</guid><category>Databases</category><og xmlns:og="http://ogp.me/ns#"><type>article</type><title>AlloyDB: ハイブリッド検索のための統合データベース エンジン</title><description></description><site_name>Google</site_name><url>https://cloud.google.com/blog/ja/products/databases/simplify-ai-search-with-alloydb-hybrid-search-and-rrf/</url></og><author xmlns:author="http://www.w3.org/2005/Atom"><name>Kumar Ramamurthy</name><title>Senior Product Manager, Databases</title><department></department><company></company></author><author xmlns:author="http://www.w3.org/2005/Atom"><name>Ricky Zhou</name><title>Software Engineer, Databases</title><department></department><company></company></author></item><item><title>AlloyDB がエージェント向け PostgreSQL を提供: ワークロードを完全に分離し、エージェント規模でリアルタイム データを処理</title><link>https://cloud.google.com/blog/ja/products/databases/announcing-postgresql-for-agents-in-alloydb/</link><description>&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;※この投稿は米国時間 2026 年 9 月 25 日に、Google Cloud blog に&lt;/span&gt;&lt;a href="https://cloud.google.com/blog/products/databases/announcing-postgresql-for-agents-in-alloydb?e=0&amp;amp;hl=en"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;投稿&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;されたものの抄訳です。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;ミッション クリティカルな運用データベースは企業にとってなくてはならないものであり、パフォーマンスの低下は許されません。しかし従来のアーキテクチャでは、わずか数個のエージェントが高密度の推論ループを実行しただけで、予測不可能なクエリのバーストが発生して簡単に過負荷状態に陥ります。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;このたび、AlloyDB でエージェント向け PostgreSQL（プレビュー版）の提供を開始したことをお知らせいたします。これにより、ミッション クリティカルなシステムのパフォーマンスを損なうことなくリアルタイムのデータアクセスを行うことが可能になります。AlloyDB は、サンドボックス化されたデータベース インスタンスを数秒でプロビジョニングしてスケールすることでエージェントによる突発的なクエリの急増に対応し、ワークロードの完全な分離を可能にします。インスタンスはエージェントが終了すると自動的にスピンダウンするため、数個でも数百万個でも、エージェントをあらゆる規模で費用対効果よく実行できます。この発表による変更点は以下のとおりです。&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;AlloyDB に、秒単位で同期された本番環境の最新データに読み取り専用でアクセスできる数千のサーバーレス データベース インスタンスへと PostgreSQL をスケールさせるように設計された&lt;/span&gt;&lt;a href="https://cloud.google.com/blog/ja/products/databases/alloydbs-agentic-database-architecture?e=0&amp;amp;hl=ja"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;エージェント向けデータベース アーキテクチャ&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;が搭載されます。これらのインスタンスは常時、本番環境ワークロードがアクセスするプライマリ、スタンバイ、リードレプリカのインスタンスから完全に分離されています。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;これらの各インスタンスは、&lt;/span&gt;&lt;a href="https://cloud.google.com/blog/ja/products/storage-data-transfer/a-peek-behind-colossus-googles-file-system?e=0&amp;amp;hl=ja"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Google が提供するエクサバイト規模の分散ストレージ システムである Colossus&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; の統合ストレージ レイヤを基盤とするデータベース内のリアルタイム データにアクセスします。これにより、エージェントはミリ秒未満の I/O とテラビット/秒の集約スキャン スループットを実現し、秒間 300 万以上のクエリにも対応できます。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;これらのインスタンスは完全な AlloyDB PostgreSQL エンジンを備え、すべてのインデックス、SQL の全機能、包括的なベクトル検索、全文検索、空間検索へのアクセスを提供します。さらに、複雑な ETL パイプラインを構築しなくても、エージェントは &lt;/span&gt;&lt;a href="https://cloud.google.com/bigquery"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;BigQuery&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; と&lt;/span&gt;&lt;a href="https://cloud.google.com/products/managed-service-for-apache-spark"&gt;&lt;span style="vertical-align: baseline;"&gt; &lt;/span&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Spark&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; を活用してレイクハウス分析を実行できます。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;これらのインスタンスはエージェントがタスクを完了するとすぐにゼロへとスケールダウンされるため、料金はアクティブな推論ループに対してのみ発生し、クラウド費用を削減できます。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Google は、この&lt;/span&gt;&lt;a href="https://cloud.google.com/products/alloydb"&gt;&lt;span style="vertical-align: baseline;"&gt; &lt;/span&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;AlloyDB for PostgreSQL&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; により高度なベクトル演算、ML 推論、基盤モデルのインテグレーションを 100% PostgreSQL 互換のエンジンに直接組み込み、エージェント向けエンタープライズ リレーショナル データベースの分野における先駆けとなりました。AlloyDB for PostgreSQL は Google Cloud のセキュリティ機能と緊密に統合されており、静的パスワードに代わる IAM 認証の使用、VPC Service Controls を介したトラフィック分離、顧客管理の暗号化と監査の提供によりデータを保護します。この機能とエージェント アーキテクチャによるスケーラビリティを組み合わせて提供する AlloyDB は、エンタープライズ グレードの優れたエージェント PostgreSQL サービスとなっています。&lt;/span&gt;&lt;/p&gt;
&lt;p style="text-align: center;"&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;プレビュー版をご利用になるには、&lt;/span&gt;&lt;a href="https://docs.google.com/forms/d/e/1FAIpQLSfYv_zv2CI9L6xZxkExZai_jG-eiz8iEYPfwLFwaIatZdYCrA/viewform" rel="noopener" target="_blank"&gt;&lt;span style="font-style: italic; text-decoration: underline; vertical-align: baseline;"&gt;こちらからお申し込み&lt;/span&gt;&lt;/a&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;ください。&lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;&lt;strong style="vertical-align: baseline;"&gt;重要である理由&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;エージェントの時代となった今、企業による AI の使用方法は単一のコパイロット エージェントとのやり取りから、数百万のエージェントが同時に連携するネットワークへと急速に移行しています。これらのエージェントが一斉にクエリを実行してデータベースを操作すると、突発的なトラフィックの急増によってコア データベースが過負荷に陥り、ビジネスを運営する基幹システムと競合してしまう可能性があります。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;エージェントがワークフローを効率的に実行するためには、B ツリー、ベクトル、テキスト、空間の各インデックスを活用して、高度な分析とリアルタイムの本番データに対する低遅延アクセスの両方を実現する必要があります。新興のアーキテクチャはオブジェクト ストレージの上に配置されたページ キャッシュ レイヤを使用しますが、これにはスケーリングと費用に関する課題があり、本番環境システムの安定性が損なわれる可能性があります。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;加えて、分析のために本番環境のデータを解放すると運用アクセスにパフォーマンスのボトルネックが生じ、エージェントが本番環境にリリースされた瞬間からミッション クリティカルなデータベースがリスクにさらされるという、難しいトレードオフも発生します。これらは、データベース ストレージに従来のオブジェクト ストアを使用して問題を解決しようとするアプローチです。分析アクセスが可能になるので一部のエージェントはこれを役立てることができますが、基盤となるデータベースの処理速度が本番環境のワークロードに対して遅すぎ、I/O レイテンシが最大で 10 倍悪化します。ページ キャッシュ レイヤがあっても、一時しのぎ程度にしかなりません。キャッシュ自体の速度が依然として十分に速くないうえに、エージェント ワークロードによって簡単に飽和してしまうスケーラビリティのボトルネックを抱えることになります。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;アクティブなマルチエージェント システムが高密度な推論サイクルを実行すると、高度に並列化された予測不可能なクエリのバーストが発生してこれらのキャッシュ レイヤを圧倒し、ミッション クリティカルな本番環境システムが、エージェント起因のサービス停止に対して無防備な状態になります。その結果、このアーキテクチャでは運用ユースケースの全領域が実行不可能となり、企業はライブのエンタープライズ データが持つ、AI による変革の力をビジネスに活用する機会を失うことになります。&lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;&lt;strong style="vertical-align: baseline;"&gt;AlloyDB 独自の PostgreSQL エージェント アーキテクチャ&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Google はこれとは異なるアプローチを採用しました。AlloyDB は、AI 時代に特化して設計された&lt;/span&gt;&lt;a href="https://cloud.google.com/blog/ja/products/databases/alloydbs-agentic-database-architecture?e=0"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;エージェント向けデータベース アーキテクチャ&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;を提供し、4 つの主要な差別化機能を備えています。&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;人工的なボトルネックのない、1 ミリ秒未満の I/O レイテンシ: &lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;業界をリードする AlloyDB のトランザクションおよびクエリ処理性能と、Google の地球規模の Colossus ストレージ インフラストラクチャに支えられた低レイテンシのオブジェクト ストレージが組み合わさったこのアーキテクチャは、エージェント向けの大規模な共有ストレージ プレーンを提供します。ミリ秒未満の I/O と 1 秒あたり 1 テラビットを超える集計スキャン帯域幅を実現しているため、エージェントが最新の運用データに対して直接、集中的に読み取りクエリとベクトル検索を実行しても問題なく処理できます。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;本番環境のワークロードから完全に分離しつつ、需要に合わせてスケーリング: &lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;AlloyDB は、最新の本番環境データに対してサンドボックス化されたデータベース インスタンスを数秒で動的にプロビジョニングすることでスケールします。エージェント同士が運用リソースを奪い合う従来のアーキテクチャとは異なり、エージェント データベース コンピューティングはプライマリ データベース クラスタから完全に分離されています。そのため、エージェントが高密度で予測不可能な推論ループを実行しても本番環境のパフォーマンスが低下することはありません。これらの堅牢な安全ガードレールと、エンタープライズ グレードのガバナンス、きめ細かいアクセス制御が組み合わさっているため、アクティブなエージェント ループで分析クエリ、ベクトルクエリ、運用データのポイント ルックアップをシームレスに組み合わせ、本番環境データに対して PostgreSQL の性能を制限なく最大限に活用することができます。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;従量課金制: &lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;エージェントのアクティビティは一般的に、短時間のうちに大量のクエリが同時送信され、それが終わると非アクティブな期間が続くという特徴があります。このような急増に備えて専用のリードレプリカをプロビジョニングした場合、高価なインフラストラクチャを 24 時間体制で維持する必要があります。費用対効果の高い方法で大規模なエージェント グループをサポートし、プロビジョニングしたシステムがアイドル状態のままでコンピューティング オーバーヘッドを発生させることを避けられるよう、エージェント AlloyDB インスタンスは迅速にスケールして秒間数百万のクエリに対応できます。また、柔軟な従量課金制の料金モデルによって自動的にゼロへとスケールさせることができます。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;ETL 不要のネイティブ レイクハウス統合: &lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;本番環境データはすべて、Google Cloud の&lt;/span&gt;&lt;a href="https://cloud.google.com/blog/ja/products/data-analytics/introducing-the-borderless-lakehouse?e=48754805&amp;amp;hl=ja"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;ボーダーレス レイクハウス&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;とネイティブに統合されます。そのため、エージェントは BigQuery と Lightning Engine for Apache Spark に対して連携クエリを実行し、大規模なレイクハウス データセットと、AlloyDB の秒単位で更新される最新のトランザクション データを結合できます。これにより、壊れやすいバッチ ETL パイプラインを構築して維持する必要がなくなり、自律型エージェントは最新の運用状態と、レイクハウスに格納されている過去のコンテキスト データの両方に即座にアクセスできます。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;「サプライ チェーンの自律性が高まるにつれ、当社のプラットフォームでは、数千もの施設にわたる複雑な物流ワークフローを調整するリアルタイムのトランザクション インテリジェンスが欠かせなくなっています。AlloyDB の新しいエージェント向け PostgreSQL アーキテクチャは、当社にとって大きな転機となりました。現在では、コアのトランザクション処理には一切影響を及ぼすことなく、同時に連携して動作するエージェントのネットワークをデプロイし、在庫データや注文データを 1 秒未満の鮮度で分析できるようになっています。このアーキテクチャにより、次世代のエンタープライズ サプライ チェーン AI を支えるために必要な分離、スピード、費用対効果を実現できました。」 - Manhattan Associates、エグゼクティブ バイス プレジデント兼最高技術責任者、Sanjeev Siotia 氏&lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;&lt;strong style="vertical-align: baseline;"&gt;提供状況&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;AlloyDB の PostgreSQL for Agents は現在、プレビュー版としてご利用いただけます。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;詳細については、&lt;/span&gt;&lt;a href="https://docs.cloud.google.com/alloydb/docs/postgresql-agents-alloydb"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;ドキュメント&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;ページをご覧ください。ご利用を開始するには、&lt;/span&gt;&lt;a href="https://docs.google.com/forms/d/e/1FAIpQLSfYv_zv2CI9L6xZxkExZai_jG-eiz8iEYPfwLFwaIatZdYCrA/viewform" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;こちらからお申し込みください&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;</description><pubDate>Tue, 06 Oct 2026 18:10:00 +0000</pubDate><guid>https://cloud.google.com/blog/ja/products/databases/announcing-postgresql-for-agents-in-alloydb/</guid><category>Databases</category><og xmlns:og="http://ogp.me/ns#"><type>article</type><title>AlloyDB がエージェント向け PostgreSQL を提供: ワークロードを完全に分離し、エージェント規模でリアルタイム データを処理</title><description></description><site_name>Google</site_name><url>https://cloud.google.com/blog/ja/products/databases/announcing-postgresql-for-agents-in-alloydb/</url></og><author xmlns:author="http://www.w3.org/2005/Atom"><name>Raj Pai</name><title>VP, Product Management, Databases</title><department></department><company></company></author><author xmlns:author="http://www.w3.org/2005/Atom"><name>Sujatha Mandava</name><title>Senior Director, Product Management, Databases</title><department></department><company></company></author></item><item><title>エージェントの時代における妥協のない新しいデータベース アーキテクチャ</title><link>https://cloud.google.com/blog/ja/products/databases/alloydbs-agentic-database-architecture/</link><description>&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;※この投稿は米国時間 2026 年 9 月 25 日に、Google Cloud blog に&lt;/span&gt;&lt;a href="https://cloud.google.com/blog/products/databases/alloydbs-agentic-database-architecture?e=0&amp;amp;hl=en"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;投稿&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;されたものの抄訳です。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;データベース エンジニアはキャリア全体を通して、ある 1 つの課題に取り組んできました。それは、データを保持する記録システムの信頼性を損なうことなく、OLTP ワークロードをどのようにスケールするかということです。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Exadata は、データベース下部のスケールアウト ストレージ階層にクエリをオフロードすることで、ネットワークのボトルネックを排除し、この課題を解決しました。Azure SQL Hyperscale は、共有ブロック サーバーを使用して、数十のリードレプリカにスケールアウトしました。Aurora は、ログの適用処理を分散ストレージ ノードにオフロードし、複数の PostgreSQL ノードにわたる読み取り処理のスケーリングを実現しました。一方、新しいアーキテクチャでは、従来のオブジェクト ストレージにデータを永続化し、その手前にプロビジョニングされたキャッシュ階層を配置しています。これにより、ホットデータのレイテンシは抑制できるものの、キャッシュミスが発生するたびに長いレイテンシが発生します。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;これらのアーキテクチャはどれも、スケール、レイテンシ、分離という 3 つの特性のうち、少なくとも 1 つ、場合によっては 2 つの制約を本質的に抱えています。たとえば、共有ブロック サーバー上に構築されたアーキテクチャでは、ブロック サーバーで I/O が必然的にボトルネックになるため、スケーラビリティが損なわれます。また、レプリケーション トラフィックが急増するたびに本番環境のワークロードがスロットリングされるため、分離も損なわれます。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;こうしたトレードオフの中には、設計当初は実際に妥当だったものもあり、40 年間にわたってエンタープライズ データベース ワークロードの要件を満たしてきました。しかし、エージェントの時代においては、このような妥協はもはや通用しません。エージェント ワークロードは動的に生成されるため、事前に検証することはできません。そのため、ミッション クリティカルなシステムから分離することが、ビジネスの継続性を確保するうえで不可欠です。エージェント ワークロードは、データベース エンジンとそのすべてのインデックスの能力を最大限に活用して初めて実現できる低レイテンシを必要とします。同時に、単一のデータベースでは前例のない、まったく新しいレベルの弾力的なスケーリングも求められます。具体的には、単一のデータベースに対して数秒以内に 1,000 個のコンピューティング ノードを要求し、1 分以内に処理を終了するような、エージェントのバーストに対応できるスケーリングです。&lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;&lt;strong style="vertical-align: baseline;"&gt;真のエージェント型データベース アーキテクチャに必要な 3 つの原則&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;エージェントの時代には、3 つの基本原則によって定義される新しいエージェント型データベース アーキテクチャが必要であると Google は考えています。エージェント型データベース アーキテクチャがその真価を発揮するには、これら 3 つの条件すべてを満たすことが不可欠です。&lt;/span&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li aria-level="1" style="list-style-type: decimal; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;原則: 分離 - 設計レベルでの分離でありながら、リアルタイムなデータアクセスを実現。&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;エージェントは、プライマリ クラスタとデータベース コンポーネントを共有しないデータパスを介して、1 秒未満の更新頻度で本番環境のライブデータを読み取る必要があります。リアルタイムとは、古いコピーやブランチではなく、秒単位で更新される最新のデータを意味します。これは割り当てではなく、物理的な分離です。リソースを共有するということは、運命を共にすることを意味するからです。その境界線はストレージ レイヤまで達しているため、設計レベルでリソースの競合を排除しています。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: decimal; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;原則: レイテンシ - 1 ミリ秒未満のベースライン I/O。&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;運用ワークロードでは 1 ミリ秒未満のブロック I/O が求められますが、エージェントでもその基準は変わりません。コンピューティング ノードは DRAM とローカル SSD を利用して高速化を実現していますが、キャッシュミスが発生してリモート ストレージへアクセスする場合であっても、アプリケーションかエージェントかを問わず、1 ミリ秒未満で処理を完了できるストレージ設計が求められます。パフォーマンスが桁違いに低下するアーキテクチャは、エージェントにとって根本的に使い物になりません。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: decimal; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;原則: スケール - エージェント スケールのコンピューティングと I/O。&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;エージェントのスケールは、瞬発的かつ一時的でありながら、極めて大規模という特徴を同時に持ちます。データベース コンピューティング ノードは、数秒でのスピンアップ、数千台へのスケール、短時間でのバースト実行、エージェントの処理終了後の自動的なゼロへのスピンダウンを行う必要があります。本番環境に一切影響を与えずに、データベースのコンピューティングと I/O を数千ノード規模へ即座にスケールさせることは、従来のデータベースの常識では不可能なことでした。エージェントの動的な性質を考えると、コンピューティング、ストレージ I/O、その間にあるキャッシュ階層にいたるまで、スタック全体における事前プロビジョニングは現実的ではありません。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;重要なのは、エージェント アーキテクチャは、これら 3 つの原則をすべて同時に満たす必要があるということです。こうしたアーキテクチャにより、エージェントは本番環境の安定性を損なうことなく、ライブ運用データ、つまり企業の実体に直接アクセスして処理を行うことができます。その結果、以下のような劇的な変化がもたらされます。&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;連動障害がない:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; ビジネスを運営するエンジンと、その上で推論を行うエージェント フリートが完全に分離されているため、エージェントが本番環境に影響を与える経路が排除されます。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;容量予測が不要:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; 真の弾力性により、予測不可能なエージェントの急増に備えて事前プロビジョニングを行う煩わしさが解消されます。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;セマンティクスの妥協がない:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; エージェントに対して制限される機能はありません。すべての推論ステップにおいて、リレーショナル SQL、ハイブリッド検索（ベクトル、全文、空間）、そしてインデックスの機能を最大限に活用できます。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;&lt;strong style="vertical-align: baseline;"&gt;AlloyDB のエージェント アーキテクチャ&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href="https://cloud.google.com/blog/products/databases/announcing-postgresql-for-agents-in-alloydb"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;AlloyDB の新しいエージェント型データベース アーキテクチャ&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;は、これら 3 つの原則をすべて満たす初のシステムです。Google は、ストレージ、ネットワーク、コンピューティング、データベースにわたって、これをゼロから構築し、以下を実現しました。&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;分離によって設計レベルでの障害の連鎖を回避:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; トランザクション本番環境クラスタは、エージェント ワークロードから完全に分離され、事前プロビジョニングされた専用インフラストラクチャ上で実行されます。エージェントは、Model Context Protocol（MCP）を介して、本番環境とは別の専用の Colossus ストレージ セグメントから直接読み取る、マイクロ VM ベースの AlloyDB ノードの独立したエフェメラル プールに接続します。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;予測可能な 1 ミリ秒未満のストレージ I/O:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; すべてのストレージ読み取りは、Google の Colossus ストレージ システムによって直接処理され、1 ミリ秒未満のベースライン レイテンシを継承します。これにより、コールド キャッシュミスによるパフォーマンスの急激な低下がなくなります。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;ゼロから数千ノードへの真のコンピューティング スケーリング:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; エージェント プールは、エージェント アクティビティのバーストに対応して、ゼロから数千のノードへと迅速にスケールアップし、タスクが完了した瞬間にゼロにスケールダウンします。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;
&lt;div class="block-image_full_width"&gt;






  
    &lt;div class="article-module h-c-page"&gt;
      &lt;div class="h-c-grid"&gt;
  

    &lt;figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      "
      &gt;

      
      
        
        &lt;img
            src="https://storage.googleapis.com/gweb-cloudblog-publish/images/1_W9G0CoR.max-1000x1000.png"
        
          alt="1"&gt;
        
        &lt;/a&gt;
      
    &lt;/figure&gt;

  
      &lt;/div&gt;
    &lt;/div&gt;
  




&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;エージェントは、1 秒未満の更新頻度で本番環境データをクエリし、PostgreSQL エンジンのすべての機能（ポイント検索、インデックス トラバーサル、ベクトル、全文検索、空間検索、カラム型スキャン、レイクハウス全体の連携クエリ）を駆使して、推論ループを強化できます。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://docs.google.com/forms/d/e/1FAIpQLSfYv_zv2CI9L6xZxkExZai_jG-eiz8iEYPfwLFwaIatZdYCrA/viewform" rel="noopener" target="_blank"&gt;&lt;span style="font-style: italic; text-decoration: underline; vertical-align: baseline;"&gt;エージェント向け AlloyDB PostgreSQL のプレビュー&lt;/span&gt;&lt;/a&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;に参加して、データの規模を問わず本番環境データ上でエージェントを実行しましょう。その全機能について詳しくは、&lt;/span&gt;&lt;a href="https://cloud.google.com/blog/ja/products/databases/announcing-postgresql-for-agents-in-alloydb"&gt;&lt;span style="font-style: italic; text-decoration: underline; vertical-align: baseline;"&gt;関連するお知らせのブログ記事&lt;/span&gt;&lt;/a&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;をご覧ください。&lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;&lt;strong style="vertical-align: baseline;"&gt;既存のアーキテクチャが 3 つの原則をすべて満たせない理由&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;従来型および新興の運用データベースは、3 つのアーキテクチャ パラダイムのいずれかを採用することでスケーリングを図っています。自律型 AI エージェントの要件に照らして評価すると、どのパラダイムにも構造上の根本的な限界があり、3 つの原則を同時に満たすことは不可能です。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;独立したレプリカ（シェアードナッシング ストレージ）&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;従来のリレーショナル アーキテクチャでは、プライマリ インスタンスから専用のレプリカ データベースにレプリケーション ログをストリーミングすることで読み取りをスケールします。各レプリカ データベースは、それぞれ専用のローカル ストレージまたはアタッチされたブロック ストレージを備えています。これは「原則: 分離」を満たしています。つまりレプリカはプライマリ クラスタと物理リソースを共有せず、継続的なログ レプリケーションにより、準リアルタイムの最新性が維持されます。また、「原則: レイテンシ」も満たしています。専用のローカル ストレージにより、予測可能な 1 ミリ秒未満の読み取りレイテンシが保証されます。しかし、「原則: スケーリング」は満たしていません。スケーリングには、新しいレプリカをプロビジョニングし、数百ギガバイトまたはテラバイトのストレージをリハイドレーションする必要があります。これらすべての処理には数時間かかります。これでは、秒単位で発生するエージェントの爆発的な推論バーストには対応できません。さらに、静的にプロビジョニングされたコンピューティングとストレージは、エージェントの実行が完了した後も、アイドル状態でコストが発生し続けます。&lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;&lt;strong style="vertical-align: baseline;"&gt;分離された共有ストレージ サーバー&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;2 つ目のアプローチは、ステートレス コンピューティング ノードを、永続性とレプリケーションを管理し、ブロック書き込みをオフロードする可能性のあるカスタム ストレージ サーバーの共有マルチテナント階層から切り離すことです。このアプローチは、「原則: レイテンシ」を満たします。最適化されたストレージ サーバーへの読み取りアクセスは、常に安定した低いレイテンシで処理されます。しかし、「原則: 分離」は満たしていません。すべてのレプリカがプライマリと同じサーバーから読み取るため、エージェント I/O が本番環境 I/O と直接競合し、障害の連鎖のリスクが生じるためです。また、「原則: スケール」も満たしていません。データがコピーされないため、ステートレス コンピューティング レプリカは迅速にスピンアップするものの、ストレージ I/O の合計帯域幅が、事前にプロビジョニングされたストレージ階層の容量に制限されるためです。基盤となる I/O 容量をスケールせずにコンピューティング ノードを追加しても、ストレージの処理能力が飽和し、スロットリングを加速させるだけです。&lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;&lt;strong style="vertical-align: baseline;"&gt;共有ブロック サーバーを使用したオブジェクト ストレージ&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;3 つ目の新しいアプローチは、汎用オブジェクト ストレージでデータの耐久性を確保し、ブロック サーバーの共有階層からブロック読み取りを行うというものです。オブジェクト ストレージからのランダム読み取りには数十ミリ秒かかります。これは従来のデータベース ストレージより桁違いに遅く、少なくとも 25 年前のエンタープライズ向けディスクアレイと比べてもさらに遅いレベルです。そのため、ブロック サーバーにホットデータを保持させることで、低レイテンシでのデータ提供を実現しています。このアプローチは、「原則: レイテンシ」を満たしますが、1 つ注意点があります。それは、ブロック サーバーでキャッシュミスが起きると、許容できないほど高いレイテンシでオブジェクト ストレージまでフォールバックが発生してしまう点です。一方で、「原則: 分離」を満たしていません。レプリカは本番環境とブロック サーバーを共有しているためです。エージェント I/O と本番環境 I/O は同じ処理容量を使用します。そのため、その容量が枯渇したりスロットリングされたりすると、エージェントだけでなく本番環境にも影響が及びます。また、共有ストレージ サーバーと同じ理由で、「原則: スケール」も満たしていません。レプリカはすぐに起動しますが、ブロック サーバーがバーストに合わせて I/O をスケールしないためです。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;このファミリーの一部のアーキテクチャでは、Apache Spark などの分析エンジンがデータベース エンジンをバイパスして、基盤となるオブジェクト ストレージを直接読み取ることもできます。分析ワークロードの場合、これは価値があり、十分に現実的なアプローチです。しかし、エージェントには低レイテンシの検索が不可欠です。インデックス、ポイント検索、ベクトル検索を排除すると、ブルート フォース テーブル スキャンが余儀なく行われ、レイテンシが急増し、エージェントが検索と推論のループを実行できなくなります。&lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;&lt;strong style="vertical-align: baseline;"&gt;既存アーキテクチャの評価&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Google は、共有ブロック サーバーを備えたオブジェクト ストレージ アーキテクチャを使用する市販のサービスを対象に、スケーリングの限界と本番環境の分離の両方を検証する評価を行いました。利用可能な DRAM よりも大きなデータセットに対して、同時にインデックス検索を実行しました。1 つのリーダー インスタンスから始めて、最大 8 つのリードレプリカを追加してワークロードをスケールしました。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;物理リソースを共有するアーキテクチャでは、リードレプリカを追加してエージェントをスケールすると、レプリカとプライマリの両方のパフォーマンスが急速に低下します。以下のグラフに示すように、Google のテストでは、レプリカを追加してもスループットの増加は 2 倍未満にとどまりました。レプリカ 4 台でピークに達した後、共有ブロック サーバーの帯域幅が飽和状態になると、スループットは低下しました。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-image_full_width"&gt;






  
    &lt;div class="article-module h-c-page"&gt;
      &lt;div class="h-c-grid"&gt;
  

    &lt;figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      "
      &gt;

      
      
        
        &lt;img
            src="https://storage.googleapis.com/gweb-cloudblog-publish/images/2_sz3VF5H.max-1000x1000.png"
        
          alt="2"&gt;
        
        &lt;/a&gt;
      
    &lt;/figure&gt;

  
      &lt;/div&gt;
    &lt;/div&gt;
  




&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;プライマリ データベースへの影響は即座に、かつ深刻な形で現れました。レプリカが追加されると、プライマリのスループットは 75% 以上も急落したのです。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-image_full_width"&gt;






  
    &lt;div class="article-module h-c-page"&gt;
      &lt;div class="h-c-grid"&gt;
  

    &lt;figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      "
      &gt;

      
      
        
        &lt;img
            src="https://storage.googleapis.com/gweb-cloudblog-publish/images/3_AJe6Y3V.max-1000x1000.png"
        
          alt="3"&gt;
        
        &lt;/a&gt;
      
    &lt;/figure&gt;

  
      &lt;/div&gt;
    &lt;/div&gt;
  




&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;つまり、従来型と新興型のどちらのアーキテクチャも、エージェントが求める規模に対応できないということです。本番環境システムの安定性を損なうことなくそれを実現することは、到底不可能です。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="vertical-align: baseline;"&gt;原則に基づく評価&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-image_full_width"&gt;






  
    &lt;div class="article-module h-c-page"&gt;
      &lt;div class="h-c-grid"&gt;
  

    &lt;figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      "
      &gt;

      
      
        
        &lt;img
            src="https://storage.googleapis.com/gweb-cloudblog-publish/images/4_ErZMLBi.max-1000x1000.png"
        
          alt="4"&gt;
        
        &lt;/a&gt;
      
    &lt;/figure&gt;

  
      &lt;/div&gt;
    &lt;/div&gt;
  




&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;* 部分的に対応: ホットデータはブロック サーバーから低レイテンシで提供されますが、ブロック サーバーでキャッシュミスが発生すると、オブジェクト ストレージへのアクセスが生じて数十ミリ秒のレイテンシが発生します。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;いずれの場合も、この課題は構造的なものであり、単にチューニングで解決できる問題ではありません。レプリケーションは、各レプリカに専用ストレージを割り当てることで分離を実現します。そのため、そのストレージへのデータ同期にかかる時間よりも短い時間でレプリカを追加することはできません。共有ストレージ サーバーは、ストレージを共有することでコンピューティングを迅速に追加できますが、I/O を分離することもスケールすることもできません。オブジェクト ストレージ上のブロック サーバーは、プロビジョニングされた階層でレイテンシを抑制できるものの、分離もバーストもできず、キャッシュミスが発生するたびにオブジェクト ストレージへのアクセスが生じてしまいます。どのアプローチも、あるレイヤで問題を解決したとしても、別のレイヤでその代償を払うことになります。3 つの原則をすべて同時に満たすには、コンピューティング、ネットワーク、ストレージにわたるデータベース アーキテクチャを再考する必要があります。&lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;&lt;strong style="vertical-align: baseline;"&gt;AlloyDB をスタック全体でどのように構築したか&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;AlloyDB のエージェント型データベース アーキテクチャは、Google のデータ、AI、インフラストラクチャ スタック（AI モデル、データベース エンジン、および分析エンジン、さらにはストレージ、ネットワーキング、コンピューティング インフラストラクチャ）全体にわたって垂直統合されています。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-image_full_width"&gt;






  
    &lt;div class="article-module h-c-page"&gt;
      &lt;div class="h-c-grid"&gt;
  

    &lt;figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      "
      &gt;

      
      
        
        &lt;img
            src="https://storage.googleapis.com/gweb-cloudblog-publish/images/image4_DPg3jLH.max-1000x1000.png"
        
          alt="image4"&gt;
        
        &lt;/a&gt;
      
    &lt;/figure&gt;

  
      &lt;/div&gt;
    &lt;/div&gt;
  




&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;ストレージ: 基盤としての Colossus&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;永続レイヤでは、AlloyDB は Google のエクサバイト規模の分散ストレージ システムである Colossus を基盤としています。Colossus は、Google 検索、YouTube、Gmail、Google ドライブ、Spanner、Bigtable を支えています。1 つの&lt;/span&gt;&lt;a href="https://cloud.google.com/blog/products/storage-data-transfer/a-peek-behind-colossus-googles-file-system"&gt;&lt;span style="vertical-align: baseline;"&gt; &lt;/span&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Colossus クラスタ&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;は、エクサバイト規模のストレージと数万台のマシンにスケールします。Spanner では、Colossus 上に直接構築されたトランザクション データベースが数千ノードまでスケールできることを実証しました。新しい AlloyDB アーキテクチャは、同じ基盤を新たな課題、すなわちエージェントに適用します。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Colossus には、AlloyDB がこれら 3 つの原則を満たすための、3 つの特性があります。&lt;/span&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li aria-level="1" style="list-style-type: decimal; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;1 ミリ秒未満の直接 I/O:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; Colossus は、読み取りレイテンシを最小限に抑えるように設計されています。Colossus ストリームを開くデータベース ノードは、データが物理的に存在する場所を記述したハンドルを受け取ります。承認とメタデータの解決は、ストリームの作成時に 1 回しか行われません。それ以降の読み取りはすべて、最適化されたネットワーク プロトコルを介して、データを保持するディスクに対して直接行われます。その結果、データベースのすべてのデータで 1 ミリ秒未満のレイテンシが実現します。ウォームアップする中間層も、キャッシュミスを起こすような層もありません。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: decimal; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;圧倒的なスループット:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; Colossus は、帯域幅をプロビジョニングする必要がなく、同時ホスト数に制限がないため、単一の AlloyDB データベースに対して最大 15 TB/秒の総スループットと 2,000 万の秒間クエリ数を実現します。Colossus のスケールから見れば、AlloyDB エージェント ノードのフリートがもたらす負荷は、ストレージのサイズ調整が必要になるようなものではありません。それは、このストレージがすでに処理している負荷のごく一部にすぎないからです。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: decimal; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;物理セグメントのパーティショニング:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; AlloyDB は、本番とは別の Colossus セグメントからエージェントにサービスを提供するため、エージェントの I/O が本番環境のデータパスと競合することはなく、意図的に本番環境のデータパスから分散されます。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;コンピューティング、ネットワーク、ストレージのいずれのデータパスにおいても、エージェントがデータベース コンポーネントを本番環境と共有することはありません。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="vertical-align: baseline;"&gt;ネットワーク: Jupiter によるスケーラブルな帯域幅&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;コンピューティングとストレージは、Google の大容量データセンター ネットワークである Jupiter によって結び付けられています。1 つの Jupiter ファブリックが 10 万台以上のサーバーを 13 ペタビット/秒の二分割帯域幅で接続します。これは、地球上のすべての人がビデオ通話を行うのに十分な帯域幅です。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Jupiter は、ネットワーキング ファブリック全体で予測可能な低レイテンシと高い二分割帯域幅を提供します。そのため、エージェント ノードをクラスタ内のどこにでも柔軟に配置でき、一元化されたストレージに常にアクセスできます。エージェント プールがゼロから数千ノード規模にスケールするにつれて、基盤となる相互接続の容量が、配置上のボトルネックを発生させることなく、増大するトラフィックを吸収します。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="vertical-align: baseline;"&gt;コンピューティング: 柔軟でサーバーレスな PostgreSQL と分析&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;コンピューティング レイヤでは、エージェントが MCP を介して AlloyDB のエージェント プールに接続します。エージェント プールを構成する AlloyDB エージェント ノードは、データベースの秒単位の最新状態に、読み取り専用でアクセスできます。このレイヤは、以下の機能を提供します。&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;マイクロ VM 分離:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; 各エージェント ノードは、軽量かつセキュアなマイクロ VM 内で実行される、完全に機能する AlloyDB for PostgreSQL データベース エンジンです。これらのインスタンスは、互いに完全に分離されており、専用のプライマリ クラスタからも分離されています。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;迅速なスピンアップとスケーリング:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; エージェント ノードは、エージェントからのリクエストに応じてプロビジョニングされ、エージェントが処理を終了すると自動的に停止します。バーストが発生すると、AlloyDB は数千のエージェント ノードを迅速にプロビジョニングし、数百万の同時エージェントにサービスを提供します。エージェントが処理を終了すると、それらを解放します。課金はエージェント ノードのアクティビティの秒単位で行われるため、1,000 個のノードを数十秒間使用するバーストでは、ジョブが消費したリソースに対してのみ課金され、それ以上のコストは発生しません。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;一方、本番環境クラスタは、専用インフラストラクチャ上に事前プロビジョニングされ、記録システムに合わせてサイジングされた、従来通りの状態のまま維持されます。エージェント ノードは Colossus から直接データを読み取るため、1 秒未満の更新頻度で、一貫した本番環境のデータを参照できます。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;エージェント プール以外にも、BigQuery と Spark は本番環境クラスタから同じように分離された Colossus から AlloyDB データを読み取ることができるため、エージェントは Lakehouse Federation を使用して、リアルタイムの運用データを大規模な Lakehouse データセットと結合できます。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;AlloyDB の新しいエージェント データベース アーキテクチャは、Google 規模のストレージ、ネットワーク、コンピューティング レイヤを基盤とすることで、際立った目標を達成しています。それは「データのみを共有し、それ以外は何一つ共有しない」という目標です。&lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;&lt;strong style="vertical-align: baseline;"&gt;AlloyDB のエージェント型データベース アーキテクチャの評価&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Google は、利用可能な DRAM よりも大きなデータセットに対して同時インデックス検索を実行し、フルスタック全体におけるスケーラビリティを検証することで、AlloyDB の性能を評価しました。エージェント ワークロードを、単一のエージェント ノード（従来のリードレプリカではなく、エージェント プール内の独立したデータベース インスタンス）から開始し、単一のデータベース上で数千ノードまで動的にスケールしました。その際、エージェント全体の合計スループットと、本番環境への影響を測定しました。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;このテストでは、エージェント ノードを 1 つから 10 個に増やすと、スループットが 3,900 QPS から 4.1 万 QPS へとほぼ完全に比例して向上しました。さらに 2 桁上（100倍）の規模までスケールさせても、最大 1,000 ノードに達するまで、ほぼ完全に比例したパフォーマンスが得られました。Google は、以下を確認しました。&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;プライマリのパフォーマンス低下ゼロ:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; エージェント ノードを 1 から 1,000 にスケールしても、プライマリ クラスタのパフォーマンスに&lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;測定可能な影響は生じませんでした&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;膨大なスループット:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; 合計スループットが動的に 773 倍の &lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;300 万 QPS&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; にスケールされ、1,000 台のコンピューティング ノードにわたって Colossus で &lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;800 万 IOPS 以上&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;を達成しました。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;
&lt;div class="block-image_full_width"&gt;






  
    &lt;div class="article-module h-c-page"&gt;
      &lt;div class="h-c-grid"&gt;
  

    &lt;figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      "
      &gt;

      
      
        
        &lt;img
            src="https://storage.googleapis.com/gweb-cloudblog-publish/images/7_C0rtDwX.max-1000x1000.png"
        
          alt="7"&gt;
        
        &lt;/a&gt;
      
    &lt;/figure&gt;

  
      &lt;/div&gt;
    &lt;/div&gt;
  




&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;2,100 のエージェント ノードでテーブル全体のスキャンを同時に実行する同様のベンチマークでは、合計スキャン スループットが &lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;1 秒あたり約 1 テラビット&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;を超えました。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;エージェント プールは本番環境クラスタと物理インフラストラクチャを共有しないため、チームは本番環境システムを危険にさらすことなく、推論フリートを数千ノード規模にスケールできます。&lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;&lt;strong style="vertical-align: baseline;"&gt;3 つの原則すべてを設計に組み込む&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;次の表は、AlloyDB のアーキテクチャが 3 つの原則をどのように満たしているかを示しています。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-image_full_width"&gt;






  
    &lt;div class="article-module h-c-page"&gt;
      &lt;div class="h-c-grid"&gt;
  

    &lt;figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      "
      &gt;

      
      
        
        &lt;img
            src="https://storage.googleapis.com/gweb-cloudblog-publish/images/8_OwYnVhS.max-1000x1000.png"
        
          alt="8"&gt;
        
        &lt;/a&gt;
      
    &lt;/figure&gt;

  
      &lt;/div&gt;
    &lt;/div&gt;
  




&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;エージェント型データベース アーキテクチャには、これら 3 つの基本要素が不可欠です。すなわち、Colossus の特性を備えたストレージ、コンピューティングとストレージをボトルネックなしに接続するネットワーク、そしてエージェントの規模に合わせてプロビジョニングと解放ができるコンピューティングです。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Google は、Google 検索、YouTube、Gmail を稼働させるために、20 年以上かけてまさにその基盤を構築してきました。現在、これは Google のエージェント型データベース アーキテクチャの基盤となっています。&lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;&lt;strong style="vertical-align: baseline;"&gt;本番環境に影響を与えることなく、エージェントにライブデータを提供&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;AI を活用した開発に取り組むすべての組織が、ある共通のジレンマに直面しています。それは、ビジネスを支えるシステムを危険にさらすことなく、エージェントに対して本番環境のライブデータへの完全なアクセス権をどのように付与するか、という問題です。これまでは、アプリケーションのニーズではなく、アーキテクチャの制約によって、その選択を強いられていました。エージェントにデータベースへの直接アクセスを許可すると、ミッション クリティカルなシステムを、予測不可能な負荷、深刻なリソース競合、本番環境の停止のリスクにさらすことになります。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;これら 3 つの原則に基づいて構築されたアーキテクチャは、こうした妥協を完全に排除します。エージェントは、1 秒未満の更新頻度を保った本番環境のライブデータに基づいて推論します。そして、すべてのインデックス、ベクトル、全文検索、空間検索、SQL の全機能など、エンジンのフル機能を 1 ミリ秒未満の I/O で自由自在に駆使できます。このアーキテクチャは、エージェントの要求に応じて数千もの分離されたノードに動的にスケールし、処理が終了したらゼロにスケールダウンします。その間も、コア トランザクション ワークロードは影響を受けることはありません。共有コンポーネントも、共有割り当ても存在せず、連動障害のリスクもないからです。エージェントは、ビジネスの継続性を損なうことなくビジネスにイノベーションをもたらすことができます。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;この優れた特性が、本番環境データを参照する他のすべてのシステムにも適用されます。レポート、分析、アプリケーションは、本番環境を危険にさらすことなくライブデータを自由に読み取ることが可能になり、50 年間にわたってオペレーショナル データベースを縛り続けてきた制約が、ついに解消します。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;企業の記録システム内のデータは、その企業にとって最も重要なものです。この基盤の上に構築されたそのデータは、ついに最大限に活用できるようになります。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;制約なきデータベースへ。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;詳細については、&lt;/span&gt;&lt;a href="https://docs.cloud.google.com/alloydb/docs/postgresql-agents-alloydb"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;ドキュメント&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;ページをご覧ください。&lt;/span&gt;&lt;a href="https://docs.google.com/forms/d/e/1FAIpQLSfYv_zv2CI9L6xZxkExZai_jG-eiz8iEYPfwLFwaIatZdYCrA/viewform" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;こちらから登録&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;すると、今すぐご利用いただけます。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="font-style: italic; vertical-align: baseline;"&gt;- データベース エンジニアリング担当バイス プレジデント、Amit Ganesh&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="font-style: italic; vertical-align: baseline;"&gt;- データベース、エンジニアリング担当バイス プレジデント、Sailesh Krishnamurthy&lt;/strong&gt;&lt;/p&gt;&lt;/div&gt;</description><pubDate>Tue, 06 Oct 2026 18:00:00 +0000</pubDate><guid>https://cloud.google.com/blog/ja/products/databases/alloydbs-agentic-database-architecture/</guid><category>Databases</category><og xmlns:og="http://ogp.me/ns#"><type>article</type><title>エージェントの時代における妥協のない新しいデータベース アーキテクチャ</title><description></description><site_name>Google</site_name><url>https://cloud.google.com/blog/ja/products/databases/alloydbs-agentic-database-architecture/</url></og><author xmlns:author="http://www.w3.org/2005/Atom"><name>Amit Ganesh</name><title>VP Engineering, Databases</title><department></department><company></company></author><author xmlns:author="http://www.w3.org/2005/Atom"><name>Sailesh Krishnamurthy</name><title>VP Engineering, Databases</title><department></department><company></company></author></item><item><title>オーケー: AlloyDB と Database Migration Service で「止められない基幹システム」を移行し、データドリブンな価値創出を加速</title><link>https://cloud.google.com/blog/ja/topics/customers/ok-accelerates-data-driven-value-creation-with-alloydb-and-the-database-migration-service/</link><description>&lt;div class="block-paragraph"&gt;&lt;p data-block-key="eq1g5"&gt;小売業界で急速な事業拡大を続けるオーケー株式会社（以下、オーケー）は、ネットスーパーの成長を支えるデータベースの基盤強化と、店舗の「止められない」業務を担うデータベースの刷新という 2 つの課題に挑戦。AlloyDB を軸とする Google Cloud のソリューションを採用し、現場への影響を極小化しながら、新たな基盤の構築に成功しています。このプロジェクトを推進してきたオーケーと KDDIアイレット株式会社（以下、KDDIアイレット）の担当者に、話を伺いました。&lt;/p&gt;&lt;p data-block-key="tniu"&gt;&lt;b&gt;利用しているサービス:&lt;br/&gt;&lt;/b&gt;&lt;a href="https://cloud.google.com/products/alloydb?hl=ja"&gt;AlloyDB&lt;/a&gt;, &lt;a href="https://cloud.google.com/database-migration?hl=ja"&gt;Database Migration Service（DMS）&lt;/a&gt;, &lt;a href="https://cloud.google.com/bigquery?hl=ja"&gt;BigQuery&lt;/a&gt;, &lt;a href="https://firebase.google.com/?hl=ja" target="_blank"&gt;Firebase&lt;/a&gt;, &lt;a href="https://docs.cloud.google.com/network-connectivity/docs/interconnect/concepts/partner-overview?hl=ja"&gt;Partner Interconnect&lt;/a&gt;, &lt;a href="https://cloud.google.com/datastream?hl=ja"&gt;Datastream&lt;/a&gt;, &lt;a href="https://workspace.google.com/intl/ja/?hl=ja" target="_blank"&gt;Google Workspace&lt;/a&gt;, &lt;a href="https://gemini.google/jp/about/?hl=ja" target="_blank"&gt;Gemini&lt;/a&gt; など&lt;/p&gt;&lt;p data-block-key="eo22n"&gt;&lt;b&gt;利用しているソリューション:&lt;br/&gt;&lt;/b&gt;&lt;a href="https://cloud.google.com/solutions/database-modernization?hl=ja"&gt;データベースのモダナイゼーション&lt;/a&gt;&lt;/p&gt;&lt;h3 data-block-key="coh8t"&gt;&lt;b&gt;ビジネスの急成長を受けて高まった、2 つの基幹データベース刷新の必要性&lt;/b&gt;&lt;/h3&gt;&lt;p data-block-key="alb5q"&gt;オーケーは「高品質・Everyday Low Price」を経営方針に掲げ、関東・関西に 180 店舗以上を展開するディスカウント スーパーマーケットです。同社は高品質な商品でありながら、特売日を設けず毎日が低価格の「Everyday Low Price（EDLP）」方針を徹底し、「小売 × IT」の最先端の仕組みづくりに挑戦してきました。2020 年に Google Cloud を導入し、オンプレミスのデータ ウェアハウスを BigQuery へと刷新したのを皮切りに、2021 年には「オーケーネットスーパー」を開始。会員向けスマートフォン アプリも、Firebase を活用して短期間で構築するなど、デジタル領域での顧客体験向上に注力しています。&lt;/p&gt;&lt;p data-block-key="a0f2i"&gt;しかし、オーケー IT本部 副本部長の荒川 健児氏は、こうした取り組みの裏側で、システムの心臓部を担う 2 つのコア データベースの刷新が求められていたと振り返ります。1 つ目は、ネットスーパーの顧客体験向上を担う「ネットスーパー DB」です。&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-paragraph_with_image"&gt;&lt;div class="article-module h-c-page"&gt;
  &lt;div class="h-c-grid uni-paragraph-wrap"&gt;
    &lt;div class="uni-paragraph
      h-c-grid__col h-c-grid__col--8 h-c-grid__col-m--6 h-c-grid__col-l--6
      h-c-grid__col--offset-2 h-c-grid__col-m--offset-3 h-c-grid__col-l--offset-3"&gt;

      






  

    &lt;figure class="article-image--wrap-small
      
      "
      &gt;

      
      
        
        &lt;img
            src="https://storage.googleapis.com/gweb-cloudblog-publish/images/_53A1100_Small.max-1000x1000.jpg"
        
          alt="_53A1100_Small"&gt;
        
        &lt;/a&gt;
      
    &lt;/figure&gt;

  





      &lt;p data-block-key="da54o"&gt;「この領域は将来的には法人利用も視野に入れており、増大するトランザクションに柔軟に対応できるスケーラビリティと、インフラ運用コストの最適化が強く求められていました。従来は他社のクラウド上で稼働しており、データが各システムにサイロ化していたのが実情です。このため高度な分析基盤や AI と連携しながら、お客様に対してパーソナライズされた提案をリアルタイムに行えるようにすることが目標となっていました。」&lt;/p&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;div class="block-paragraph"&gt;&lt;p data-block-key="eq1g5"&gt;2 つ目のデータベースは、日々の店舗業務を支える「生鮮 DB」です。これは各店舗のマスター情報や仕入れ、棚卸し、販売実績といったデータを蓄積し、全店舗からのデータ参照や現場の帳票出力などに対応しており、絶対に止めることができないシステムです。&lt;/p&gt;&lt;p data-block-key="8b154"&gt;「『生鮮 DB』については長年稼働してきたオンプレミス環境からの脱却を目標にしていましたが、新しいクラウド環境とオンプレミス環境が並存する過渡期に、データ連携と一貫性をいかに維持するかという課題がありました。また『生鮮 DB』は、現場に定着している業務プロセスと密接に結びついているため、一斉停止を伴う全面移行をいかに避けるかも問われていました。」（荒川氏）&lt;/p&gt;&lt;h3 data-block-key="5kkjb"&gt;&lt;b&gt;AlloyDB の採用により、業務の根幹を支えるデータベースの移行と基盤統一を実現&lt;/b&gt;&lt;/h3&gt;&lt;p data-block-key="55k00"&gt;現行業務への影響を最小限に抑えながら、既存のデータベースからコアデータを安全に切り離し、新たなクラウドに段階的に移行する。この難易度の高いミッションをクリアすべく、オーケーは基本方針の決定からネットワーク構築、PoC（概念実証）、データ移行、本番切り替えまでのサポートを KDDIアイレットに依頼します。評価されたのは、Google Cloud 導入支援と運用最適化を多数手がけてきた実績でした。&lt;br/&gt;&lt;br/&gt;これ以降、両社は共に検討を重ね「ネットスーパー DB」と「生鮮 DB」の移行先を統一し、その共通基盤として AlloyDB の採用を決定しました。KDDIアイレットで開発を率いた齋藤 寛隆氏は、その選定理由として 5 つのポイントを挙げています。&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-paragraph_with_image"&gt;&lt;div class="article-module h-c-page"&gt;
  &lt;div class="h-c-grid uni-paragraph-wrap"&gt;
    &lt;div class="uni-paragraph
      h-c-grid__col h-c-grid__col--8 h-c-grid__col-m--6 h-c-grid__col-l--6
      h-c-grid__col--offset-2 h-c-grid__col-m--offset-3 h-c-grid__col-l--offset-3"&gt;

      






  

    &lt;figure class="article-image--wrap-small
      
      "
      &gt;

      
      
        
        &lt;img
            src="https://storage.googleapis.com/gweb-cloudblog-publish/images/0623-0457_Small.max-1000x1000.jpg"
        
          alt="0623-0457_Small"&gt;
        
        &lt;/a&gt;
      
    &lt;/figure&gt;

  





      &lt;p data-block-key="da54o"&gt;「まず大前提となったのは高可用性です。AlloyDB は、止められない生鮮業務を支えられる『99.99% のサービスレベル契約（SLA）と約 15 秒のフェイルオーバー』という性能を持っていました。2 つ目は、標準的な PostgreSQL 比で 4 倍以上のトランザクション処理性能、3 つ目は、オート バキュームなどの自動化による運用負荷の削減です。4 つ目はすでに活用されている BigQuery との親和性で、最後は移行支援ツールの充実も決め手になりました。」&lt;/p&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;div class="block-paragraph"&gt;&lt;p data-block-key="eq1g5"&gt;AlloyDB への統合にあたっては、「セキュアなプライベート通信の確立」と「種類の異なるデータベース間での無停止移行」という要件がありました。まず通信に関しては、オンプレミスのデータセンターや他社クラウドから Google Cloud へ Partner Interconnect の専用線で接続。インターネットを経由せずに AlloyDB と通信できる閉域網環境が構築されています。&lt;br/&gt;&lt;br/&gt;データ移行では、DB ごとに方法が使い分けられました。「ネットスーパー DB」は一部データの移行となり、システムを停止させることが可能だったため、対象データを既存の PostgreSQL からエクスポートし、AlloyDB へインポートする方法が採用されています。これに対して「生鮮 DB」は、システムを止めることができないため、データ移行をアシストする Database Migration Service（DMS）が活用されました。&lt;/p&gt;&lt;p data-block-key="cmhcl"&gt;「『生鮮 DB』の移行では、DMS を用いて従来のデータベースのトランザクション ログから差分データを解釈し、新しいデータベースへ継続的にデータ書き込みを行う方式を採用しました。これはクエリを発行しないため、稼働中のデータベースへの負荷を最小限に抑えることができます。また、差分のみの転送で遅延を最小限に抑えつつ、切り替え時のダウンタイムの極小化が実現できると判断し、DMS の採用を決めました。」（齋藤氏）&lt;/p&gt;&lt;p data-block-key="3k6e9"&gt;この移行プロセスでは、KDDIアイレットの知見も活かされています。スキーマ変換では、DMS のコンバージョン ワークスペースと Gemini の変換提案を活用して作業の効率化を実現。DMS が対応していない日本語のカラム名では、英数字の仮テーブルを経由して、移行後に再設定する方法が採られています。移行後のデータ検証には、Google Cloud のデータ検証ツールが使用されました。&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-image_full_width"&gt;






  
    &lt;div class="article-module h-c-page"&gt;
      &lt;div class="h-c-grid"&gt;
  

    &lt;figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      "
      &gt;

      
      
        
        &lt;img
            src="https://storage.googleapis.com/gweb-cloudblog-publish/images/shisutemuGouChengTuRuGaoYong.max-1000x1000.png"
        
          alt="システム構成図入稿用"&gt;
        
        &lt;/a&gt;
      
    &lt;/figure&gt;

  
      &lt;/div&gt;
    &lt;/div&gt;
  




&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;h3&gt;&lt;strong style="vertical-align: baseline;"&gt;Gemini や AlloyDB AI も活用しながら、DX と新たな価値創出を追求&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;今回の移行プロジェクトで得られた技術的な成果を、齋藤氏は次のように総括します。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;「『生鮮 DB』は日々の業務を担う『止められないシステム』です。本プロジェクトでは、止められないから移行を諦めるのではなく、ダウンタイムを極小化しながら AlloyDB に移行することで要件をクリアしただけでなく、将来的なデータ活用まで視野に入れることができました。BigQuery との連携では、Datastream を活用することにより、セキュアな通信を維持したまま、AlloyDB から BigQuery へニア リアルタイムにデータを連携できるようにもなりました。」&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;一方、荒川氏は AlloyDB を軸とした新たなデータベース基盤が、現場における業務を大きく変えつつあると説明します。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;「従来、生鮮の現場では、担当者が独自のツールを使って DB からデータを抽出し、手作業で表計算ソフトの集計や状況確認を行っていました。しかし新たなシステムでは、BigQuery 上に生鮮のニア リアルタイムなデータを集約し、さらに天気情報や人流データ、客数予測といった外部データを掛け合わせることが可能になります。店舗での売り上げ情報を即座に反映して『製造の推奨数』を算出することにより、生鮮領域のロスを削減しながら、売り上げを増やすための合理化も図られるようになりました。」&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;オーケーではデータドリブンな業務改革を定着させるため、環境づくりも進められています。実際に必要とされるデータやシステム運用のリテラシーは職種や部門によって異なるため、AI をエージェント化し、自然言語でデータを活用できるようにする取り組みが始まっています。「自動化できるところは AI で積極的に自動化し、人間は本当に考えるべき業務だけを担う」という発想には、少子高齢化による人手不足に対応する狙いも込められています。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;「小売 × IT」で新たなニーズに対応し、事業成長を牽引していく。このアプローチを推進し続けるべく、荒川氏は Google Cloud のエコシステムを活用しながら、DX の推進と顧客体験の向上を図りたいと改めて強調しました。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;「デジタル上で店舗の商品を見つけやすくすることは、顧客体験を向上させ、売り上げを伸ばす意味でも重要です。例えば従来のキーワード検索では、『コレステロールが気になる人向けの油は？』といった問いかけに対し、商品を見つけられないことがありました。しかし AlloyDB AI を活用すれば、意味や文脈を汲み取った検索や、類似商品の提案も可能になっていきます。AlloyDB や BigQuery はもとより、Google Workspace や NotebookLM、Gemini をはじめとするツールには、データ連携や集約がシームレスに行えるという大きな魅力があります。今後も KDDIアイレットや Google Cloud のサポートを受けながら先進的な IT を活用し、お客様に提供する価値を高め続けていきたいと考えています。」&lt;/span&gt;&lt;/p&gt;
&lt;hr/&gt;
&lt;p&gt; &lt;/p&gt;&lt;/div&gt;
&lt;div class="block-image_full_width"&gt;






  
    &lt;div class="article-module h-c-page"&gt;
      &lt;div class="h-c-grid"&gt;
  

    &lt;figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      "
      &gt;

      
      
        
        &lt;img
            src="https://storage.googleapis.com/gweb-cloudblog-publish/images/_53A1319-2_Small.max-1000x1000.jpg"
        
          alt="_53A1319-2_Small"&gt;
        
        &lt;/a&gt;
      
    &lt;/figure&gt;

  
      &lt;/div&gt;
    &lt;/div&gt;
  




&lt;/div&gt;
&lt;div class="block-paragraph"&gt;&lt;p data-block-key="eq1g5"&gt;&lt;a href="https://ok-corporation.jp/" target="_blank"&gt;&lt;b&gt;オーケー株式会社&lt;/b&gt;&lt;/a&gt;&lt;b&gt;&lt;br/&gt;&lt;/b&gt;1958 年創業。「高品質・Everyday Low Price」を経営方針に掲げ、関東（1 都 3 県）、関西（大阪府・兵庫県）に 180 店舗以上のディスカウント スーパーマーケットを展開。高品質な商品でありながら、特売日を設けず毎日が低価格の「Everyday Low Price（EDLP）」方針を徹底し、ナショナル ブランド商品については地域一番の最安値を目指す。2024 年には関西エリアにも進出し、年商 7,500 億円を超える規模へと成長している。&lt;/p&gt;&lt;p data-block-key="f0f0f"&gt;&lt;a href="https://www.iret.co.jp/" target="_blank"&gt;&lt;b&gt;KDDIアイレット株式会社&lt;/b&gt;&lt;/a&gt;&lt;b&gt;&lt;br/&gt;&lt;/b&gt;2003 年 8 月にアイレット株式会社として創業し、2017 年 2 月に KDDI株式会社の傘下に。2026 年 4 月に KDDI Digital Divergence Holdings株式会社との合併により、社名を KDDIアイレット株式会社に変更。クラウドインテグレーション事業、開発事業、デザイン事業、提携事業を展開し、Google Cloud パートナーとして、インフラの移行や新規構築、アプリケーション開発、AI エージェント開発まで数多くの実績を持つ。&lt;/p&gt;&lt;p data-block-key="5t3mp"&gt;&lt;b&gt;インタビュイー（写真左から）&lt;/b&gt;&lt;/p&gt;&lt;p data-block-key="806uu"&gt;・オーケー株式会社&lt;br/&gt;　IT本部 副本部長　荒川 健児 氏&lt;/p&gt;&lt;p data-block-key="8sa00"&gt;・KDDIアイレット株式会社&lt;br/&gt;　クラウド・イノベーション本部 クラウドインテグレーション事業部 グループリーダー&lt;br/&gt;　齋藤 寛隆 氏&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;hr/&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;その他の導入事例は&lt;/span&gt;&lt;a href="https://cloud.google.com/customers?hl=ja"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;こちら&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;をご覧ください。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;</description><pubDate>Mon, 05 Oct 2026 02:00:00 +0000</pubDate><guid>https://cloud.google.com/blog/ja/topics/customers/ok-accelerates-data-driven-value-creation-with-alloydb-and-the-database-migration-service/</guid><category>Databases</category><category>BigQuery</category><category>Customers</category><media:content height="540" url="https://storage.googleapis.com/gweb-cloudblog-publish/images/hero_image_ok_horizontal_2.max-600x600.jpg" width="540"></media:content><og xmlns:og="http://ogp.me/ns#"><type>article</type><title>オーケー: AlloyDB と Database Migration Service で「止められない基幹システム」を移行し、データドリブンな価値創出を加速</title><description></description><image>https://storage.googleapis.com/gweb-cloudblog-publish/images/hero_image_ok_horizontal_2.max-600x600.jpg</image><site_name>Google</site_name><url>https://cloud.google.com/blog/ja/topics/customers/ok-accelerates-data-driven-value-creation-with-alloydb-and-the-database-migration-service/</url></og><author xmlns:author="http://www.w3.org/2005/Atom"><name>Google Cloud Japan Team </name><title></title><department></department><company></company></author></item><item><title>AlloyDB と Cloud SQL のネイティブ BM25 ランキングを発表</title><link>https://cloud.google.com/blog/ja/products/databases/native-bm25-search-in-alloydb-and-cloud-sql/</link><description>&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;※この投稿は米国時間 2026 年 9 月 19 日に、Google Cloud blog に&lt;/span&gt;&lt;a href="https://cloud.google.com/blog/products/databases/native-bm25-search-in-alloydb-and-cloud-sql?e=0&amp;amp;hl=en"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;投稿&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;されたものの抄訳です。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;ベクトル検索は、生成 AI、検索拡張生成（RAG）、データ エージェント アーキテクチャの重要なコンポーネントですが、ベクトル検索だけでは不十分な場合もあります。ベクトル エンベディングは概念的な意味を理解するのに優れていますが、特定の英数字 ID や正確な商品 SKU 番号を扱うのは苦手です。真に堅牢な検索アプリケーションや AI アプリケーションを構築するには、セマンティック ベクトル検索と従来の完全一致キーワード全文検索を組み合わせる必要があるかもしれません。これは、ハイブリッド検索と呼ばれます。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;検索において、Best Matching 25（BM25）は、特定のクエリに対するドキュメントの関連性を推定するために使用される重要なアルゴリズムです。これまで、AlloyDB や Cloud SQL で BM25 ランキングを使用するには、全文検索バックエンドを追加する必要がありました。これにより、データサイロ、同期の遅延、運用の複雑化が生じていました。このたび、Tiger Data が作成したオープンソースの&lt;/span&gt;&lt;a href="https://github.com/timescale/pg_textsearch" rel="noopener" target="_blank"&gt;&lt;span style="vertical-align: baseline;"&gt; &lt;/span&gt;&lt;code style="text-decoration: underline; vertical-align: baseline;"&gt;pg_textsearch&lt;/code&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt; 拡張機能&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;により、AlloyDB と Cloud SQL for PostgreSQL 17 以降でネイティブ BM25 インデックスのプレビュー版が利用可能になりました。これにより、個別の全文検索バックエンドを維持する手間がなくなります。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;統合されたハイブリッド検索バックエンドにより、最先端の全文検索を実現するために、個別のシステムをプロビジョニング、管理、または購入する必要がなくなりました。これらはすべて、運用データが保存されているデータベース内で直接行われ、以下を実現します。&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;業界標準のキーワード ランキング:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; Tiger Data の &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;pg_textsearch&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; を活用して、C 言語で最適化された超高速の BM25 スコアリングを Postgres テーブルに直接適用できます。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;複雑さを排除し、完全な整合性を実現:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; ベクトル検索と全文検索のために複数のバックエンドを維持する場合に発生する、データの重複、ETL パイプライン、同期の遅延を排除します。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;強化されたセマンティック検索（AlloyDB 限定）:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; ScaNN および HNSW インデックス タイプにより、ベクトル検索クエリが（標準の PostgreSQL と比較して）最大 6 倍および 10 倍高速になります。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;&lt;strong style="vertical-align: baseline;"&gt;pg_textsearch を使用する理由&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;PostgreSQL に組み込まれている &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;ts_rank を使用して、ある程度の規模で全文検索を行ったことがある方なら、その限界をご存じでしょう。コーパスが大きくなるにつれて、ランキングの品質が低下します。逆文書頻度はサポートされていないため、一般的な単語は珍しい単語と同じ重み付けになります。用語頻度飽和がないため、「データベース」という単語が 50 回出現するドキュメントは、1 回しか出現しないドキュメントよりも上位にランクされます。&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;BM25 は、情報検索のゴールド スタンダードであり、逆文書頻度（珍しい用語ほど重要）、用語頻度飽和（繰り返しに左右されない）、文書長正規化を提供します。Tiger Data の&lt;/span&gt;&lt;a href="https://www.tigerdata.com/blog/pg-textsearch-bm25-full-text-search-postgres" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;ブログ投稿&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;では、PostgreSQL ページで BM25 検索エンジンを構築した方法について詳しく説明しています。&lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;&lt;strong style="vertical-align: baseline;"&gt;全文検索の例&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;&lt;code style="vertical-align: baseline;"&gt;AlloyDB と Cloud SQL の両方で BM25 全文検索を始める方法をご紹介します。サンプル テーブル cymbal_products を考えてみましょう。このテーブルには、固有識別子 uniq_id、product_name 列、各商品のテキスト説明を含む product_description 列、生成された product_embedding 列が含まれています。cymbal_products&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; には、屋内植物や屋外植物など、さまざまな小売商品に関する情報が含まれています。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;インデックスの作成&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;BM25 を使用するには、pg_textsearch 拡張機能を有効にします。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;#x27;-- Install pg_textsearch extension\r\nCREATE EXTENSION pg_textsearch;&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7fdf928f8710&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt; &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;cymbal_products&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; テーブルの &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;product_description&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; 列にインデックスを作成します。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;quot;-- Create the native BM25 index on the content column\r\nCREATE INDEX idx_docs_bm25 \r\nON cymbal_products \r\nUSING bm25 (product_description) \r\nWITH (text_config=&amp;#x27;english&amp;#x27;);&amp;quot;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7fdf928f9110&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;BM25 全文検索クエリは、&amp;lt;@&amp;gt; 特殊演算子を使用して実行できます。以下のスニペットでは、「cherry tree」を検索しています。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;quot;-- Full text search query\r\nSELECT product_name, product_description &amp;lt;@&amp;gt; &amp;#x27;cherry tree&amp;#x27; AS bm25_score \r\nFROM cymbal_products\r\nORDER BY bm25_score \r\nLIMIT 5;&amp;quot;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7fdf928fbb50&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;出力例を以下に示します。スコアが低いほど、関連性が高いことを示します。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-image_full_width"&gt;






  
    &lt;div class="article-module h-c-page"&gt;
      &lt;div class="h-c-grid"&gt;
  

    &lt;figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      "
      &gt;

      
      
        
        &lt;img
            src="https://storage.googleapis.com/gweb-cloudblog-publish/images/1_WmFinfJ.max-1000x1000.png"
        
          alt="1"&gt;
        
        &lt;/a&gt;
      
    &lt;/figure&gt;

  
      &lt;/div&gt;
    &lt;/div&gt;
  




&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;h3&gt;&lt;strong style="vertical-align: baseline;"&gt;AlloyDB ハイブリッド検索の例&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;AlloyDB でハイブリッド検索システムを設定するのは簡単です。同じテーブルにベクトル インデックスとキーワード インデックスの両方を作成し、&lt;/span&gt;&lt;a href="https://docs.cloud.google.com/alloydb/docs/ai/run-hybrid-vector-similarity-search#hybrid-search"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;ハイブリッド検索ユーザー定義関数（UDF）&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;を使用して結果をシームレスに統合できます。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;ベクトル インデックスの作成&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;ScaNN ベクトル検索インデックスを作成する方法は次のとおりです。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;#x27;-- Install vector extension\r\nCREATE EXTENSION vector;\r\n\r\n-- Install scann extension\r\nCREATE EXTENSION IF NOT EXISTS alloydb_scann;\r\n\r\n-- Create scann vector search index \r\nCREATE INDEX cymbal_products_embeddings_scann ON cymbal_products USING scann(product_embedding cosine);&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7fdf928fb010&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;ハイブリッド検索&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;AlloyDB には、ハイブリッド検索クエリを非常に簡単に実行できる、すぐに使用可能なハイブリッド検索 UDF が用意されています。UDF は、Reciprocal Rank Fusion（RRF）アルゴリズムを使用して、各検索コンポーネントのランク付けされた結果を 1 つの統合リストにマージします。このクエリは、UDF を利用して、商品説明で「trees that grow taller than houses（家よりも高く成長する木）」のベクトル検索と「California（カリフォルニア）」のキーワード検索を実行します。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;#x27;CREATE EXTENSION google_ml_integration;\r\n\r\nSELECT *\r\nFROM ai.hybrid_search(\r\n  search_inputs =&amp;gt; ARRAY[\r\n      \&amp;#x27;{\r\n        &amp;quot;data_type&amp;quot;: &amp;quot;vector&amp;quot;,\r\n        &amp;quot;weight&amp;quot;: 0.5,\r\n        &amp;quot;table_name&amp;quot;: &amp;quot;cymbal_products&amp;quot;,\r\n        &amp;quot;key_column&amp;quot;: &amp;quot;uniq_id&amp;quot;,\r\n        &amp;quot;vec_column&amp;quot;: &amp;quot;product_embedding&amp;quot;,\r\n        &amp;quot;distance_operator&amp;quot;: &amp;quot;public.&amp;lt;=&amp;gt;&amp;quot;,\r\n        &amp;quot;limit&amp;quot;: 10,\r\n        &amp;quot;query_vector&amp;quot;: &amp;quot;ai.embedding(\&amp;#x27;\&amp;#x27;text-embedding-005\&amp;#x27;\&amp;#x27;, \&amp;#x27;\&amp;#x27;trees that grow taller than houses\&amp;#x27;\&amp;#x27;)::vector&amp;quot;\r\n      }\&amp;#x27;::JSONB,\r\n      \&amp;#x27;{\r\n        &amp;quot;data_type&amp;quot;: &amp;quot;text&amp;quot;,\r\n        &amp;quot;weight&amp;quot;: 0.5,\r\n        &amp;quot;table_name&amp;quot;: &amp;quot;cymbal_products&amp;quot;,\r\n        &amp;quot;key_column&amp;quot;: &amp;quot;uniq_id&amp;quot;,\r\n        &amp;quot;text_column&amp;quot;: &amp;quot;product_description&amp;quot;,\r\n        &amp;quot;limit&amp;quot;: 10,\r\n        &amp;quot;ranking_function&amp;quot;: &amp;quot;&amp;lt;@&amp;gt;&amp;quot;,\r\n        &amp;quot;query_text_input&amp;quot;: &amp;quot;California&amp;quot;\r\n      }\&amp;#x27;::JSONB\r\n  ],\r\n);&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7fdf928f8950&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;以下のサンプル出力に示すように、結果は RRF スコアの降順でランク付けされます。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-image_full_width"&gt;






  
    &lt;div class="article-module h-c-page"&gt;
      &lt;div class="h-c-grid"&gt;
  

    &lt;figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      "
      &gt;

      
      
        
        &lt;img
            src="https://storage.googleapis.com/gweb-cloudblog-publish/images/2_pnhsphx.max-1000x1000.png"
        
          alt="2"&gt;
        
        &lt;/a&gt;
      
    &lt;/figure&gt;

  
      &lt;/div&gt;
    &lt;/div&gt;
  




&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;ここで、ハイブリッド検索は、セマンティックな直感と正確なキーワード マッチングのギャップを埋めます。ベクトル エンベディングは「家より高く育つ木」のような概念的なクエリの理解に優れていますが、従来の全文検索は「カリフォルニア」のような厳密な識別子に求められるピンポイントの精度を提供します。この 2 つを融合することで、AlloyDB は、アプリケーションが「California Sycamore」のような、地域に関連性の高い具体的な結果をリストの最上位に優先的に表示できるようにします。&lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;&lt;strong style="vertical-align: baseline;"&gt;Cloud SQL ハイブリッド検索の例&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Cloud SQL では、同じテーブルにベクトル インデックスとキーワード インデックスの両方を作成し、共通テーブル式（CTE）を使用して結果をシームレスに結合し、以下に示すように RRF スコアを統合できます。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;ベクトル インデックスの作成&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Cloud SQL で HNSW インデックスを作成する方法は次のとおりです。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;#x27;-- Install vector extension\r\nCREATE EXTENSION vector;\r\n\r\n-- Create an HNSW index on the embedding column for fast approximate nearest neighbor search\r\nCREATE INDEX product_hnsw_idx ON cymbal_products USING hnsw(product_embedding vector_cosine_ops);&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7fdf928faf10&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;ハイブリッド検索&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;こちらがハイブリッド検索クエリです。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;quot;CREATE EXTENSION google_ml_integration;\r\n\r\n-- BM25 keyword results\r\nWITH keyword_results AS (\r\n  SELECT uniq_id, product_name, \r\n         ROW_NUMBER() OVER (ORDER BY product_description &amp;lt;@&amp;gt; &amp;#x27;California&amp;#x27;) AS rank_kw\r\n  FROM cymbal_products\r\n  ORDER BY product_description &amp;lt;@&amp;gt; &amp;#x27;California&amp;#x27;\r\n  LIMIT 10\r\n),\r\n-- Semantic vector results\r\nsemantic_results AS (\r\n  SELECT uniq_id, product_name, \r\n         ROW_NUMBER() OVER (ORDER BY product_embedding &amp;lt;=&amp;gt; google_ml.embedding(&amp;#x27;text-embedding-005&amp;#x27;, &amp;#x27;trees that grow taller than houses&amp;#x27;)::vector) AS rank_vec\r\n  FROM cymbal_products\r\n  ORDER BY product_embedding &amp;lt;=&amp;gt; google_ml.embedding(&amp;#x27;text-embedding-005&amp;#x27;, &amp;#x27;trees that grow taller than houses&amp;#x27;)::vector\r\n  LIMIT 10\r\n)\r\n-- Reciprocal Rank Fusion (RRF) to merge and score both lists\r\nSELECT COALESCE(k.uniq_id, s.uniq_id) AS uniq_id,\r\n       COALESCE(k.product_name, s.product_name) AS product_name,\r\n       COALESCE(1.0 / (60 + k.rank_kw), 0) + COALESCE(1.0 / (60 + s.rank_vec), 0) AS rrf_score\r\nFROM keyword_results k\r\nFULL OUTER JOIN semantic_results s ON k.uniq_id = s.uniq_id\r\nORDER BY rrf_score DESC\r\nLIMIT 5;&amp;quot;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7fdf928f8090&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;結果の出力は、上記の AlloyDB ハイブリッド検索の結果と同じです。&lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;&lt;strong style="vertical-align: baseline;"&gt;実際の操作を見る&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;こちらのデモ動画で、これらの機能がどのように連携するかをご覧ください。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-video"&gt;



&lt;div class="article-module article-video "&gt;
  &lt;figure&gt;
    &lt;a class="h-c-video h-c-video--marquee"
      href="https://youtube.com/watch?v=-JxQb-kjFHk"
      data-glue-modal-trigger="uni-modal--JxQb-kjFHk-"
      data-glue-modal-disabled-on-mobile="true"&gt;

      
        

        &lt;div class="article-video__aspect-image"
          style="background-image: url(https://storage.googleapis.com/gweb-cloudblog-publish/images/3_IQ6esQ4.max-1000x1000.png);"&gt;
          &lt;span class="h-u-visually-hidden"&gt;Introducing BM25 on AlloyDB &amp;amp; Cloud SQL&lt;/span&gt;
        &lt;/div&gt;
      
      &lt;svg role="img" class="h-c-video__play h-c-icon h-c-icon--color-white"&gt;
        &lt;use xlink:href="#mi-youtube-icon"&gt;&lt;/use&gt;
      &lt;/svg&gt;
    &lt;/a&gt;

    
  &lt;/figure&gt;
&lt;/div&gt;

&lt;div class="h-c-modal--video"
     data-glue-modal="uni-modal--JxQb-kjFHk-"
     data-glue-modal-close-label="Close Dialog"&gt;
   &lt;a class="glue-yt-video"
      data-glue-yt-video-autoplay="true"
      data-glue-yt-video-height="99%"
      data-glue-yt-video-vid="-JxQb-kjFHk"
      data-glue-yt-video-width="100%"
      href="https://youtube.com/watch?v=-JxQb-kjFHk"
      ng-cloak&gt;
   &lt;/a&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;h3&gt;&lt;strong style="vertical-align: baseline;"&gt;関連リソース &lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;&lt;code style="vertical-align: baseline;"&gt;Google は、Tiger Data と協力できることを大変嬉しく思っています。また、皆さまにネイティブ BM25 サポートを活用いただき、より高速でスマート、かつシンプルな AI アプリケーションを構築していただけることを楽しみにしています。今すぐ pg_textsearch&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; 拡張機能を有効にして、AlloyDB と Cloud SQL で究極のハイブリッド検索エンジンを体験してください。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;お試しになりたい場合は、以下のリソースをご確認ください。&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;AlloyDB のリソース&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;ul&gt;
&lt;li aria-level="2" style="list-style-type: circle; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;AlloyDB をまだご利用でない場合は、&lt;/span&gt;&lt;a href="https://docs.cloud.google.com/alloydb/docs/free-trial-cluster"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;30 日間の無料トライアル&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;で AlloyDB をお試しください&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="2" style="list-style-type: circle; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;a href="https://docs.cloud.google.com/alloydb/docs/ai/choose-index-strategy"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;AlloyDB AI でベクトル インデックスを選択する&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="2" style="list-style-type: circle; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;a href="https://docs.cloud.google.com/alloydb/docs/ai/create-bm25-index"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;AlloyDB BM25 のドキュメント&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="2" style="list-style-type: circle; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;a href="https://docs.cloud.google.com/alloydb/docs/ai/run-hybrid-vector-similarity-search#hybrid-search"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;AlloyDB ハイブリッド検索 UDF のドキュメント&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;Cloud SQL のリソース &lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;ul&gt;
&lt;li aria-level="2" style="list-style-type: circle; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;a href="https://docs.cloud.google.com/sql/docs/postgres/pg-textsearch"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Cloud SQL BM25 のドキュメント&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;a href="https://www.tigerdata.com/blog/pg-textsearch-bm25-full-text-search-postgres" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Tiger Data pg_textsearch リリース ページ&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;</description><pubDate>Fri, 02 Oct 2026 01:00:00 +0000</pubDate><guid>https://cloud.google.com/blog/ja/products/databases/native-bm25-search-in-alloydb-and-cloud-sql/</guid><category>Cloud SQL</category><category>Databases</category><og xmlns:og="http://ogp.me/ns#"><type>article</type><title>AlloyDB と Cloud SQL のネイティブ BM25 ランキングを発表</title><description></description><site_name>Google</site_name><url>https://cloud.google.com/blog/ja/products/databases/native-bm25-search-in-alloydb-and-cloud-sql/</url></og><author xmlns:author="http://www.w3.org/2005/Atom"><name>Darshana Sivakumar</name><title>Group Product Manager</title><department></department><company></company></author><author xmlns:author="http://www.w3.org/2005/Atom"><name>Nisa Meshal</name><title>Customer Engineer</title><department></department><company></company></author></item><item><title>電気通信事業者の自律性の拡張: Distributed GraphFlow を使用したグラフ ニューラル ネットワークの活用</title><link>https://cloud.google.com/blog/ja/products/databases/run-gnns-at-scale-with-ease-introducing-distributed-graphflow/</link><description>&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;※この投稿は米国時間 2026 年 9 月 16 日に、Google Cloud blog に&lt;/span&gt;&lt;a href="https://cloud.google.com/blog/products/databases/run-gnns-at-scale-with-ease-introducing-distributed-graphflow?e=0&amp;amp;hl=en"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;投稿&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;されたものの抄訳です。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;通信業界は現在、従来の人間による手動運用から、完全な&lt;/span&gt;&lt;a href="https://cloud.google.com/blog/topics/telecommunications/the-autonomous-network-operations-framework-for-csps?e=48754805"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;自律型ネットワーク運用&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;へのパラダイム シフトを経験しています。最新のネットワークは複雑性、異種性、大規模性を増しているため、運用の自動化を実現するには、手動で設定したルールによるルールベースの手法や従来型の機械学習（ML）手法だけでは不十分です。従来の ML は大量の構造化データから微妙なパターンを特定してきめ細かな予測を行うことができる一方、データとそれが示すシステムを理解して推論し、最終的に人間のオペレーターと同じような意思決定を行う能力はありません。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;AI エージェントの成長とその推論能力は、この課題に対する有望な解決策となります。しかし、人間のオペレーターが大規模なネットワーク中に作成された数十億のデータポイントに分散した統計情報を直接取り込むことができないのと同様に、AI エージェントにもそのような規模のネットワークを運用する能力はありません。この課題に対処するために電気通信事業者が採用しているのがグラフ ニューラル ネットワーク（GNN）です。GNN は、大量の時間データやリレーショナル データをネイティブに処理するように設計された最新の ML です。電気通信事業者は、GNN を AI エージェントと統合することで、根本原因分析、キャパシティ プランニング、トラフィック予測、What-If 分析、リアルタイムの異常検出などの高度な診断を、これらの分析情報を解釈して正当なアクションを実行するために必要な推論能力と組み合わせて利用できます。この強力な組み合わせにより、ネットワークを &lt;/span&gt;&lt;a href="https://www.tmforum.org/missions/autonomous-networks" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;TM Forum が定義する&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;レベル 5 の自律性（システムが自律的に動作する状態）に安全に移行させることが可能になります。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;この投稿では、Google Cloud の自律型ネットワーク運用フレームワークを強化する 3 つのコンポーネント（データ、ML、AI）を紹介します。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-image_full_width"&gt;






  
    &lt;div class="article-module h-c-page"&gt;
      &lt;div class="h-c-grid"&gt;
  

    &lt;figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      "
      &gt;

      
      
        
        &lt;img
            src="https://storage.googleapis.com/gweb-cloudblog-publish/images/1_qK2rt5p.max-1000x1000.jpg"
        
          alt="1"&gt;
        
        &lt;/a&gt;
      
    &lt;/figure&gt;

  
      &lt;/div&gt;
    &lt;/div&gt;
  




&lt;/div&gt;
&lt;div class="block-image_full_width"&gt;






  
    &lt;div class="article-module h-c-page"&gt;
      &lt;div class="h-c-grid"&gt;
  

    &lt;figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      "
      &gt;

      
      
        
        &lt;img
            src="https://storage.googleapis.com/gweb-cloudblog-publish/images/2_rvvQ1TV.max-1000x1000.png"
        
          alt="2"&gt;
        
        &lt;/a&gt;
      
        &lt;figcaption class="article-image__caption "&gt;&lt;p data-block-key="n2lgl"&gt;Google 自律型ネットワーク運用フレームワークのアーキテクチャ&lt;/p&gt;&lt;/figcaption&gt;
      
    &lt;/figure&gt;

  
      &lt;/div&gt;
    &lt;/div&gt;
  




&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;h3&gt;&lt;strong style="vertical-align: baseline;"&gt;基盤: Spanner Graph 上のデジタルツイン&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Google Cloud の自律型ネットワーク運用フレームワークの中核となるのは、ネットワーク デジタルツインです。これは、稼働中の通信ネットワークをリアルタイムで継続的にミラーリングし、細部にわたって忠実に再現する仮想レプリカです。静的なモデルではなく、進化し続けるコンポーネントの状態と関係を経時的に捉える、動的な時系列ネットワーク グラフとして表現されます。このアーキテクチャ アプローチにより、オペレーターは過去に「戻って」過去のデータで ML モデルをトレーニングおよび評価できると同時に、レベル 5 の自律性を実現するために必要な基本的な運用知識を AI エージェントに提供できます。デジタルツインは、提案されたネットワーク変更の影響をこのデジタル環境内でシミュレートすることで、信頼性の重要なレイヤを確立し、AI エージェントが自信を持って将来の状態を設計し、ネットワークの問題を自動的に解決できるようにします。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Google Cloud の &lt;/span&gt;&lt;a href="https://cloud.google.com/products/spanner/graph?e=48754805"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Spanner Graph&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; はこのデジタルツインをホストするのに最適なサービスですが、その理由は以下のとおりです。&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;スケーラビリティと可用性&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;: Spanner Graph は、最新のアプリケーションに妥協のない基盤を提供します。ネットワークの成長に合わせて事実上無制限にスケーリングでき、RPO と RTO はともに 0 であると同時に、99.999% の可用性を保証します。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;マルチモデルのサポート&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;: 単一のプラットフォームで複数のデータモデル（リレーショナル、グラフ、ベクトル、全文検索）をサポートしているため、グラフ走査と最近傍ベクトル検索を組み合わせるなど、複雑な構成の構築が可能です。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;グローバルな整合性&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;: Spanner は、グローバルに整合性のあるネットワーク ビューを提供し、システム開発を簡素化します。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;次の図は、ルーター、インターフェース（物理ポート）、VPN（L3VPN サービス インスタンス）、フロー（アクティブなトラフィック セッション）の 4 種類のノードを含むネットワーク トポロジを示しています。これらは、ネットワーク スタック全体をキャプチャする有向エッジによって接続されます。接続の種類としては、ルーターとインターフェース間の物理的封じ込め、インターフェース間の物理リンク、OSPF/iBGP を介したルーター間のコントロール プレーン ピアリング、ルーターと VPN 間のサービス メンバーシップ、フローとインターフェース間およびフローと VPN 間のトラフィック アンカリングが挙げられます。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-image_full_width"&gt;






  
    &lt;div class="article-module h-c-page"&gt;
      &lt;div class="h-c-grid"&gt;
  

    &lt;figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      "
      &gt;

      
      
        
        &lt;img
            src="https://storage.googleapis.com/gweb-cloudblog-publish/images/3_E5yMTVW.max-1000x1000.jpg"
        
          alt="3"&gt;
        
        &lt;/a&gt;
      
        &lt;figcaption class="article-image__caption "&gt;&lt;p data-block-key="n2lgl"&gt;ネットワーク トポロジの概要&lt;/p&gt;&lt;/figcaption&gt;
      
    &lt;/figure&gt;

  
      &lt;/div&gt;
    &lt;/div&gt;
  




&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;h3&gt;&lt;strong style="vertical-align: baseline;"&gt;ML レイヤ: Distributed Graph Flow（DGF）&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;ネットワークの動作と反応を予測するために、デジタルツインは &lt;/span&gt;&lt;a href="https://dgf.readthedocs.io/" rel="noopener" target="_blank"&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt;Distributed Graph Flow&lt;/strong&gt;&lt;/a&gt;&lt;strong style="vertical-align: baseline;"&gt;（DGF）&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;を活用した ML レイヤを利用します。このレイヤは、Spanner Graph 内にホストされている膨大な量の過去の構造化データでトレーニングすることで、重要な予測的分析情報を引き出します。これにより、人間のオペレーターと AI エージェントは、事後的ではなく事前的にネットワークを管理できるようになります。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;先日オープンソース化された DGF は、GNN モデリングのエンドツーエンドのライフサイクル全体を管理するために設計された Python ライブラリです。Google CoreML と Google Research によって開発されたこのライブラリにより、Google Cloud の企業クライアントは、Google が 10 年にわたり開発してきた社内ツールと専門知識を直接活用できるようになります。さまざまなエンジニアリング ニーズに対応するこのライブラリは、高度なチーム向けに高性能でコンポーズ可能な低レベル プリミティブを提供するほか、GNN の専門知識なしで迅速な開発を行うためのシンプルな API も提供しています。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;たとえば、高レベル API を使用して GraphFlow で GNN モデルをトレーニングして評価する場合、次のように 5 行のコードを記述するだけで済みます。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;#x27;import dgf\r\n\r\n# Fetch the data from Spanner Graph\r\ngraph, schema = dgf.io.read_spanner_graph(...)\r\n\r\n# Train a node attribute prediction model\r\nmodel = dgf.learning.train_node_model(graph, schema, target_column=&amp;quot;risk_score&amp;quot;)\r\n\r\n# Evaluate the model\r\nmodel.evaluate()\r\n# Make predictions\r\nmodel.predict(graph, seed_node_idxs=[0, 1, 2])\r\n\r\n# Save the model for later\r\nmodel.save(&amp;quot;/tmp/model&amp;quot;)&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7fdf92895d50&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;DGF は、自律型ネットワーク運用要件に直接マッピングされる最上位概念を提供します。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-image_full_width"&gt;






  
    &lt;div class="article-module h-c-page"&gt;
      &lt;div class="h-c-grid"&gt;
  

    &lt;figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      "
      &gt;

      
      
        
        &lt;img
            src="https://storage.googleapis.com/gweb-cloudblog-publish/images/4_87R4Pjc.max-1000x1000.png"
        
          alt="4"&gt;
        
        &lt;/a&gt;
      
    &lt;/figure&gt;

  
      &lt;/div&gt;
    &lt;/div&gt;
  




&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;h3&gt;&lt;strong style="vertical-align: baseline;"&gt;ユースケース&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;DGF と GNN を活用する電気通信事業者は、複数の高度なユースケースを通じて、事後保守から予防保守へと移行できます。&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;異常検出&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;: GNN は、過去のパターンと現在の状態をカプセル化したノードとエッジのエンベディングを生成します。異常なエンベディングは、サービスの低下につながる前に調査対象としてフラグが立てられます。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;根本原因分析（RCA）&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;: DGF は、特定の郵便番号での「接続失敗」など、インシデントに関連するネットワーク インスタンスのみを含む特定のサブグラフを出力できます。グローバル ネットワーク全体をスキャンする必要性がなくなるため、トラブルシューティング エージェントは、分析を高速で実行できます。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;予測メンテナンス&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;: システムは、高速移動する機器の「ハンドオーバー障害」など、デバイスの障害やエッジの切断の可能性を予測し、プロアクティブなロード バランシングやルート変更を可能にします。さらに、エージェントを組み合わせることで、「人間関与型」や「人間参加型」を採用して修復アクションを自動化できます。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;What-If 分析&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;: GNN を使用すると、電気通信事業者はファイバーの切断、トラフィックの急増、デバイス構成の変更などのシナリオをシミュレートできます。GNN は、トポロジカルな依存関係をモデル化することで、こうした局所的な変化がネットワーク全体にどのように伝播するかを予測できるため、エンジニアはリスクのないデジタル環境で復元力をテストし、緩和戦略を評価できます。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;&lt;strong style="vertical-align: baseline;"&gt;シナリオ: GNN と DGF を使用した根本原因分析&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;デジタルツインを作成したら（&lt;/span&gt;&lt;a href="https://github.com/GoogleCloudPlatform/cloud-spanner-samples/tree/main/telco-and-csp/ano-gnn" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;サンプルコード&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;）、以下の簡単な 5 ステップのプロセスで、GNN と DGF を使用した根本原因分析（RCA）検出を実装できます。&lt;/span&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li aria-level="1" style="list-style-type: decimal; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;デジタルツインに接続する&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;: DGF Spanner Graph コネクタ（&lt;/span&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;dgf.io.read_spanner_graph&lt;/span&gt;&lt;span style="vertical-align: baseline;"&gt;）を使用して、Spanner Graph のデジタルツインから DGF 環境にネットワーク トポロジを直接読み込みます。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: decimal; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;教師ありノード（またはエッジ）予測モデルをトレーニングする&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;: トレーニング データと目的に応じて、教師ありノード予測モデルをトレーニングしてターゲット ノードの特徴を予測するか、エッジ予測モデルをトレーニングして根本原因エンティティ ノードと影響を受けるエンティティ ノード間のエッジを予測します。指定されたサンプルデータに対して、高レベルの &lt;/span&gt;&lt;code style="font-style: italic; vertical-align: baseline;"&gt;dgf.learning.train_node_model&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; API を使用して、教師ありノード予測モデルをトレーニングします。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: decimal; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;ノード予測モデルを使用して根本原因ノードを予測する&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;: ノード予測モデルを直接使用して、異常のあるノードへの影響スコアを予測できます。異常の影響を受けるエンティティ ノードのうち、予測される影響スコアが最も高いものが根本原因の最有力候補となります。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: decimal; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;a href="https://cloud.google.com/blog/ja/products/ai-machine-learning/introducing-gemini-enterprise-agent-platform?e=48754805&amp;amp;hl=ja"&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt;Gemini Enterprise Agent Platform&lt;/strong&gt;&lt;/a&gt;&lt;strong style="vertical-align: baseline;"&gt;（旧称 Vertex AI）にデプロイする&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;: モデルをエクスポートして Gemini Enterprise エンドポイントにホストし、スケーラブルかつ低レイテンシの予測を可能にします。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: decimal; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;リアルタイム推論&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;: 異常の日付を入力として、推論エンドポイントに予測呼び出しを行います。エンドポイントは、予測された根本原因のエンティティ ノードを返します。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h3&gt;&lt;strong style="vertical-align: baseline;"&gt;使ってみる&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Distributed Graph Flow を使用した GNN のネットワーク運用への統合は、単なる技術的なアップグレードではなく、通信業界の重要な進化です。GNN を活用した自律型フレームワークに移行することで、電気通信事業者はサービス停止時間を大幅に短縮し、リアルタイムで容量を最適化できます。さらに、最終的には運用効率の向上を通じて優れたカスタマー エクスペリエンスを提供することにもつながります。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;独自のインテリジェント ネットワーク アプリケーションの構築を始めるには、スケーラブルな GNN トレーニングと推論に不可欠なプリミティブを提供する &lt;/span&gt;&lt;a href="https://github.com/google/distributed_graph_flow" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Distributed GraphFlow（DGF）&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;ライブラリをご覧ください。実践演習を行う場合は、&lt;/span&gt;&lt;a href="https://github.com/GoogleCloudPlatform/cloud-spanner-samples/tree/main/telco-and-csp/ano-gnn" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;コードサンプル&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;の手順に沿って進めます。また、当社が最近受賞した&lt;/span&gt;&lt;a href="https://www.tmforum.org/catalysts/projects/C26.0.965/businessaware-gnnhealing-networks" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;ビジネスアウェア GNN ヒーリング ネットワーク&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;に関する&lt;/span&gt;&lt;a href="https://www.tmforum.org/catalysts/awards?moonshotsOnly=false" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;ムーンショット プロジェクト&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;もご覧ください。自己最適化自律ネットワークに対する Google のアプローチについては、&lt;/span&gt;&lt;a href="https://services.google.com/fh/files/misc/self_optimizing_autonomous_networks_white_paper.pdf" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;こちらのホワイトペーパー&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;をご確認ください。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;</description><pubDate>Wed, 30 Sep 2026 10:00:00 +0000</pubDate><guid>https://cloud.google.com/blog/ja/products/databases/run-gnns-at-scale-with-ease-introducing-distributed-graphflow/</guid><category>BigQuery</category><category>Data Analytics</category><category>Databases</category><og xmlns:og="http://ogp.me/ns#"><type>article</type><title>電気通信事業者の自律性の拡張: Distributed GraphFlow を使用したグラフ ニューラル ネットワークの活用</title><description></description><site_name>Google</site_name><url>https://cloud.google.com/blog/ja/products/databases/run-gnns-at-scale-with-ease-introducing-distributed-graphflow/</url></og><author xmlns:author="http://www.w3.org/2005/Atom"><name>Brian Naughton</name><title>Senior Principal Architect, Telecommunications</title><department></department><company></company></author><author xmlns:author="http://www.w3.org/2005/Atom"><name>Mathieu Guillame-Bert</name><title>Software Engineer</title><department></department><company></company></author></item><item><title>M4N VM ファミリーの一般提供を開始: I/O およびメモリ バウンド ワークロードでコアあたり最高の IOPS とスループットを実現</title><link>https://cloud.google.com/blog/ja/products/compute/compute-engine-m4n-vms/</link><description>&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;※この投稿は米国時間 2026 年 9 月 17 日に、Google Cloud blog に&lt;/span&gt;&lt;a href="https://cloud.google.com/blog/products/compute/compute-engine-m4n-vms?e=0&amp;amp;hl=en"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;投稿&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;されたものの抄訳です。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;企業がミッション クリティカルなアプリケーションの規模を拡大するにつれ、ストレージ I/O やメモリアクセスが運用上の大きなボトルネックになることがあります。Oracle Database、SAP HANA のようなインメモリ データベース、高スループットの SQL Server クラスタ、EHR システム、リアルタイムのビッグデータ分析など、メモリバウンドのワークロードでは、必要な RAM 容量とストレージ帯域幅を確保するために、実際に必要な数を超えるコンピューティング コア（vCPU）をプロビジョニングせざるを得ないことが少なくありません。その結果、高額なサードパーティ ソフトウェアのライセンス費用がさらに膨らむことになります。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;このたび、Google Compute Engine の &lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;M4N&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; マシンシリーズの&lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;一般提供&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;を開始しました。M4N は、I/O 負荷が高く、大容量メモリを必要とするワークロード向けに特化して設計されたマシンシリーズで、ネットワークとブロック ストレージに最適化された VM ファミリーの第 2 弾です。主要なハイパースケーラーが提供する同等のサービスと比べ、M4N はハイメモリ インスタンスでコアあたり最高の IOPS とスループットを実現し、Oracle Database の TCO を 20% 以上削減できます。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-image_full_width"&gt;






  
    &lt;div class="article-module h-c-page"&gt;
      &lt;div class="h-c-grid"&gt;
  

    &lt;figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      "
      &gt;

      
      
        
        &lt;img
            src="https://storage.googleapis.com/gweb-cloudblog-publish/images/image4_gZSsHxy.max-1000x1000.png"
        
          alt="image4"&gt;
        
        &lt;/a&gt;
      
    &lt;/figure&gt;

  
      &lt;/div&gt;
    &lt;/div&gt;
  




&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;M4N は、ネットワークおよびブロック ストレージに最適化されたインスタンスとして、より高いメモリ比率（最大 26:1）と大容量メモリ（最大 6 TB）を実現した&lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;業界初&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;のプロダクトでもあります。第 5 世代 Intel® Xeon® スケーラブル プロセッサを搭載し、Google Cloud 独自の &lt;/span&gt;&lt;a href="https://cloud.google.com/titanium"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Titanium&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; オフロード アーキテクチャを基盤とする M4N インスタンスは、&lt;/span&gt;&lt;a href="https://cloud.google.com/compute/docs/disks/hyperdisks"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Hyperdisk Extreme&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; と組み合わせることで、ホストあたり合計で最大 25,000 MiB/秒（25 GiB/秒）のストレージ スループットと最大 100 万 IOPS を実現します。これは、現行の M4 インスタンスと比べて 2 倍のブロック ストレージ性能です。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;M4N は、極めて大容量の RAM と妥協のない I/O 性能の両方が求められるワークロード向けに設計されています。高スループットのエンタープライズ アプリケーションで課題となるストレージやネットワークのボトルネックを解消することで、M1、M2、M3、M4、X4 などの既存のメモリ最適化ファミリーを補完します。&lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;&lt;strong style="vertical-align: baseline;"&gt;要求の厳しいワークロードに対応&lt;/strong&gt;&lt;/h3&gt;
&lt;div align="left"&gt;
&lt;div style="color: #5f6368; overflow-x: auto; overflow-y: hidden; width: 100%;"&gt;
&lt;div style="color: #5f6368; overflow-x: auto; overflow-y: hidden; width: 100%;"&gt;
&lt;div style="color: #5f6368; overflow-x: auto; overflow-y: hidden; width: 100%;"&gt;&lt;table&gt;&lt;colgroup&gt;&lt;col/&gt;&lt;col/&gt;&lt;col/&gt;&lt;/colgroup&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="vertical-align: middle; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p style="text-align: center;"&gt;&lt;strong style="vertical-align: baseline;"&gt;ワークロードのカテゴリ&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: middle; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p style="text-align: center;"&gt;&lt;strong style="vertical-align: baseline;"&gt;主な用途&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: middle; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p style="text-align: center;"&gt;&lt;strong style="vertical-align: baseline;"&gt;M4N の強み&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: middle; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;ミッション クリティカルなエンタープライズ データベース&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: middle; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Oracle、SAP HANA、SQL Server、IBM DB2、MySQL、PostgreSQL&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: middle; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;vCPU あたり最大 26.57 GB のメモリと 25 GiB/秒のストレージ性能を組み合わせることで、データの高速取り込みやトランザクション ログ処理を実現し、バックアップ時の処理停止も回避できます。&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: middle; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;生成 AI と RAG のデータレイヤ&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: middle; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Milvus、Pinecone、Qdrant、Vespa、Redis、インメモリ コンテキスト キャッシュ&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: middle; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;RAM 上の大規模なベクトル インデックスに対してミリ秒未満で類似性検索を実行できます。さらに、400 Gbps のネットワーク帯域幅により、分散環境でのモデル取得を高速化します。&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: middle; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;エンタープライズ向け医療システムと ERP&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: middle; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Epic Systems（オペレーショナル データベース）、SAP ECC、SAP S/4HANA&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: middle; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;十分な I/O 余力を継続的に確保することで、臨床業務やトランザクション処理が集中するピーク時間帯でもクエリ レイテンシの急増を防ぎます。&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: middle; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;リアルタイム分析と EDA&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: middle; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;電子設計自動化、ゲノム モデリング、インメモリ OLAP&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: middle; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;大容量メモリにより大規模なデータセット全体を RAM に読み込み、最大限のストレージ帯域幅を活用してチェックポイント ダンプを高速に処理できます。&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;h3&gt;&lt;strong style="vertical-align: baseline;"&gt;Oracle のライセンス費用を最適化&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;企業の IT 部門にとって、コア数に応じて増加するソフトウェア ライセンス費用は大きな課題です。Oracle Database などのワークロードでは、通常、インスタンスに割り当てられた vCPU または物理コアの数に基づいてライセンス料が算定されます。そのため従来は、必要な RAM 容量やストレージ性能を確保するためだけに、実際には不要なコンピューティング コアまでプロビジョニングし、その分の費用を負担せざるを得ないというトレードオフがありました。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;M4N は、業界をリードする高いメモリ対 vCPU 比によって、この課題を解消します。主要なハイパースケーラーが提供するハイメモリ インスタンスの中で、M4N はコアあたり最高の IOPS とスループットを実現します。これにより、データベース管理者は次のようなメリットを得られます。&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;TCO とライセンス費用を削減:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; Oracle Database に必要な性能密度を確保しながら、コアの過剰なプロビジョニングを回避できます。その結果、主要なハイパースケーラーの同等サービスと比較して、&lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;TCO を 20% 以上削減&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;できます。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;インフラストラクチャを適正規模に調整:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; 大容量メモリを利用しながら、ワークロードに必要な分だけコンピューティング リソースを割り当てることができます。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;キャッシュ ヒット率を向上:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; コアあたりのメモリ容量が増えることで、データベースのより多くの部分をシステム グローバル領域（SGA）に保持できます。これにより、負荷の大きい I/O 処理を減らし、さらなる効率向上を図ることができます。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;&lt;strong style="vertical-align: baseline;"&gt;お客様の声&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;M4N を早期に利用したお客様の事例からは、ワークロードに最適化されたインフラストラクチャが変革を支える原動力となることがわかります。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;「M4N の登場以前は、Google Cloud 上で厳しい I/O 要件を満たそうとすると、必要な性能密度を確保するために、コンピューティング リソースを過剰にプロビジョニングせざるを得ないことがよくありました。新しい M4N インスタンスでは、小規模から大規模まで、さまざまなマシン構成で高いスループットを実現することで、この課題を解消できます。」- Sabre、シニア プリンシパル ソリューション アーキテクト Sherri Trojan 氏&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-image_full_width"&gt;






  
    &lt;div class="article-module h-c-page"&gt;
      &lt;div class="h-c-grid"&gt;
  

    &lt;figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      "
      &gt;

      
      
        
        &lt;img
            src="https://storage.googleapis.com/gweb-cloudblog-publish/images/sabre_jNZmgxf.max-1000x1000.jpg"
        
          alt="sabre"&gt;
        
        &lt;/a&gt;
      
    &lt;/figure&gt;

  
      &lt;/div&gt;
    &lt;/div&gt;
  




&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;「Google Cloud が、ミッション クリティカルなデータベース ワークロード向けに次世代の高性能インフラストラクチャを導入したことを大変嬉しく思います。この新しいコンピューティング プラットフォームは、スケーラビリティ、レジリエンス、高いパフォーマンスが求められるエンタープライズ向け Oracle 環境に大きな可能性をもたらします。このイノベーションによって、Google Cloud 上で Oracle ワークロードを実行するお客様にどのような新たな可能性が開かれるのか、大いに期待しています。」- Tessell、共同創業者 / CEO Bala Kuchibhotla 氏&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-image_full_width"&gt;






  
    &lt;div class="article-module h-c-page"&gt;
      &lt;div class="h-c-grid"&gt;
  

    &lt;figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      "
      &gt;

      
      
        
        &lt;img
            src="https://storage.googleapis.com/gweb-cloudblog-publish/images/tessel.max-1000x1000.jpg"
        
          alt="tessel"&gt;
        
        &lt;/a&gt;
      
    &lt;/figure&gt;

  
      &lt;/div&gt;
    &lt;/div&gt;
  




&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;「M4N によって、Google Cloud はプラットフォームの共同設計の可能性をさらに広げています。第 5 世代 Intel Xeon スケーラブル プロセッサと Google 独自の Titanium オフロード アーキテクチャを組み合わせることで、M4N は、世界でも特に要求の厳しいミッション クリティカルなデータ環境に求められる大容量メモリ、高いメモリ帯域幅、妥協のない I/O スループットを実現します。」- Intel&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-image_full_width"&gt;






  
    &lt;div class="article-module h-c-page"&gt;
      &lt;div class="h-c-grid"&gt;
  

    &lt;figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      "
      &gt;

      
      
        
        &lt;img
            src="https://storage.googleapis.com/gweb-cloudblog-publish/images/intel_iwN65co.max-1000x1000.jpg"
        
          alt="intel"&gt;
        
        &lt;/a&gt;
      
    &lt;/figure&gt;

  
      &lt;/div&gt;
    &lt;/div&gt;
  




&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;h3&gt;&lt;strong style="vertical-align: baseline;"&gt;新機能: M4N で大規模なデータレイヤをスケール&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;M4N は、これまでクラウド インフラストラクチャでは別々に追求されてきた&lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;大容量メモリ&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;と&lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;極めて高い I/O 性能&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;を両立します。Google Cloud 独自の Titanium オフロード技術を採用することで、追加のインフラストラクチャを導入したり、メモリ密度を犠牲にしたりすることなく、I/O のボトルネックを最小限に抑えます。ここでは、M4N がこうした環境でどのようなメリットをもたらすのかを見ていきます。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;1. 高帯域幅のデータ転送を実現&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;大容量メモリを必要とするワークロードに対して、M4N は次の機能を提供します。&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;優れた VM 間帯域幅:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; 同一 VPC 内で、&lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;VM 間の合計ネットワーク帯域幅は最大 400 Gbps&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;、&lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;単一フローの帯域幅は最大 50 Gbps&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; に達します。これにより、分散データベース クラスタやリアルタイム ストリーミング データレイヤで、滞りのないデータ交換が可能になります。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;インターネットへの送信（外向き通信）のスループットを向上:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; &lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;インターネットへの送信帯域幅は最大 200 Gbps&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;、パケット処理性能は最大 &lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;48 MPPS&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; を実現します。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;追加オプションなしで高帯域幅を利用:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; プレミアムな Tier_1 ネットワーキング アドオンを購入したり構成したりすることなく、最大限の性能を引き出せます。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;2. Hyperdisk でストレージ性能を柔軟に調整&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Google Cloud の次世代ストレージ ポートフォリオと組み合わせることで、M4N と Hyperdisk では、IOPS、スループット、容量をそれぞれ個別に調整できます。&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;Hyperdisk Extreme（HdX）:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; &lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;合計ブロック ストレージ スループットは最大 25 GiB/秒、IOPS は最大 100 万&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;に達し、標準の M4 と比べて 2 倍のストレージ性能を実現します。データベースの迅速な復旧、トランザクションのチェックポイント処理、インメモリ インデックスの即時再読み込みなどに適しています。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;Hyperdisk Balanced（HdB）:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; &lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;スループットは最大 20 GiB/秒、IOPS は最大 64 万&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;まで拡張でき、大規模なエンタープライズ ストレージを高い費用対効果で実現します。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;&lt;strong style="vertical-align: baseline;"&gt;M4N のマシンタイプと仕様&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;M4N インスタンスは、メモリ対 vCPU 比が異なる 3 つのティアで提供され、16～224 個の vCPU と最大 5,952 GB の DDR5 RAM に対応しています。また、さまざまなワークロード要件に合わせて、3 種類のメモリ対 vCPU 比に基づく事前定義済みの VM シェイプが用意されており、リソースベースの確約利用割引（CUD）も利用できます。詳しくは、&lt;/span&gt;&lt;a href="https://docs.cloud.google.com/compute/docs/memory-optimized-machines#m4n_machine_types"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;こちら&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;をご覧ください。&lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;&lt;strong style="vertical-align: baseline;"&gt;使ってみる&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;M4N インスタンスは現在、世界各地の一部のリージョンでご利用いただけます。M4N ファミリーを活用して、メモリバウンドおよび I/O バウンドのアプリケーションの性能を高め、ライセンス費用を削減する方法について詳しくは、アカウント担当者にお問い合わせいただくか、&lt;/span&gt;&lt;a href="https://cloud.google.com/compute/docs/memory-optimized-machines"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;ドキュメント&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;をご覧ください。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="font-style: italic; vertical-align: baseline;"&gt;- シニア プロダクト マネージャー、Eduardo Mattos Duarte&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="font-style: italic; vertical-align: baseline;"&gt;- シニア プロダクト マネージャー、Sajal Agarwal&lt;/strong&gt;&lt;/p&gt;&lt;/div&gt;</description><pubDate>Fri, 25 Sep 2026 01:00:00 +0000</pubDate><guid>https://cloud.google.com/blog/ja/products/compute/compute-engine-m4n-vms/</guid><category>Databases</category><category>Compute</category><media:content height="540" url="https://storage.googleapis.com/gweb-cloudblog-publish/images/m4n.max-600x600.jpg" width="540"></media:content><og xmlns:og="http://ogp.me/ns#"><type>article</type><title>M4N VM ファミリーの一般提供を開始: I/O およびメモリ バウンド ワークロードでコアあたり最高の IOPS とスループットを実現</title><description></description><image>https://storage.googleapis.com/gweb-cloudblog-publish/images/m4n.max-600x600.jpg</image><site_name>Google</site_name><url>https://cloud.google.com/blog/ja/products/compute/compute-engine-m4n-vms/</url></og><author xmlns:author="http://www.w3.org/2005/Atom"><name>Eduardo Mattos Duarte</name><title>Senior Product Manager</title><department></department><company></company></author><author xmlns:author="http://www.w3.org/2005/Atom"><name>Sajal Agarwal</name><title>Senior Product Manager</title><department></department><company></company></author></item><item><title>AlloyDB Omni RPM オーケストレーターを使用するエンタープライズ グレードの PostgreSQL の一般提供を開始</title><link>https://cloud.google.com/blog/ja/products/databases/alloydb-omni-rpm-orchestrator-is-generally-available/</link><description>&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;※この投稿は米国時間 2026 年 9 月 10 日に、Google Cloud blog に&lt;/span&gt;&lt;a href="https://cloud.google.com/blog/products/databases/alloydb-omni-rpm-orchestrator-is-generally-available?e=0&amp;amp;hl=en"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;投稿&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;されたものの抄訳です。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;このたび、&lt;/span&gt;&lt;a href="https://docs.cloud.google.com/alloydb/omni/docs/redhat-orchestrator-overview"&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt;AlloyDB Omni Red Hat RPM オーケストレーター&lt;/strong&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;の一般提供を開始しました。これにより、エンタープライズ環境の PostgreSQL ワークロードで、プロダクション レディなセキュリティ、復元力、低ダウンタイムの運用が実現します。今回の一般提供開始は、&lt;/span&gt;&lt;a href="https://medium.com/@lujjwal/automate-on-premises-database-operations-introducing-the-alloydb-omni-red-hat-rpm-orchestrator-4ab02ca8a85a" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;プレビュー リリースで築いた基盤&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;を足がかりとしています。また、&lt;/span&gt;&lt;a href="https://docs.cloud.google.com/alloydb/omni/docs/linux-overview"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;AlloyDB Omni バージョン 18.3.0&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; とともにリリースされたため、Google AI の機能により、仮想マシンやベアメタル サーバーで直接、クラウドのようなデータベース自動化が可能になります。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;この一般提供の開始時点では、要件に合わせて以下の 4 つのモードで AlloyDB Omni をデプロイできます。詳しくは、&lt;/span&gt;&lt;a href="https://docs.cloud.google.com/alloydb/omni/docs/choose-deployment"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;AlloyDB Omni のドキュメント&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;をご覧ください。&lt;/span&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li aria-level="1" style="list-style-type: decimal; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;スタンドアロン コンテナ（Debian / UBI）&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: decimal; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;高可用性エンタープライズ デプロイ向けの Kubernetes オペレーターを備えたコンテナ&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: decimal; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;スタンドアロン RPM&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: decimal; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;高可用性エンタープライズ デプロイ向けの RPM オーケストレーター&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;セルフマネージド データベースを運用する理由&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;多くのユースケースで、&lt;/span&gt;&lt;a href="https://cloud.google.com/products/databases"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;マネージド クラウド データベース サービス&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;が最もシンプルで費用対効果の高いオプションとなっています。しかし、クラウド上またはクラウド外で、PostgreSQL データベースを独自に運用することを選択するシナリオもあります。AlloyDB Omni RPM デプロイは、クラウドのパフォーマンスと、コンテナ化されていないローカル インフラストラクチャの制御を必要とする組織向けのソリューションであり、次のようなユースケースに対応できます。&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;ワークロードのモダナイゼーション:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; AlloyDB Omni は、標準の PostgreSQL と比較して、トランザクション ワークロードに関しては 2 倍以上、分析クエリに関しては最大 100 倍のスピードで動作し、完全な移行を行わなくても、既存のインフラストラクチャを活性化できます。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;規制の厳しい環境:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; RPM オーケストレーターは、データの所在地とセキュリティに関する厳格な要件がある業界向けに、コンプライアンスを維持するために必要な SELinux やローカル監査ロギングなどのツールを提供します。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;エッジへのデプロイとオンプレミスのデプロイ: &lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;エッジまたはベアメタル サーバーにデプロイすることで、低レイテンシの処理とオフライン環境での運用が可能になります。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;AI 対応インフラストラクチャ: &lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;最新の生成 AI アプリケーションに対応した&lt;/span&gt;&lt;a href="https://docs.cloud.google.com/alloydb/omni/linux/current/docs/ai/perform-vector-search"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;ベクトル検索&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;などの AlloyDB AI 機能をオンプレミスで直接使用して、AI 統合用のデータベース クラスタをプロビジョニングできます。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;柔軟なリファレンス アーキテクチャ&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;AlloyDB Omni RPM オーケストレーターは、パフォーマンスの最大化、読み取りスループットのスケーリング、堅牢な高可用性（HA）の確保など、組織の特定の運用要件に合わせてカスタマイズされた柔軟なデプロイ モデルを提供します。詳しくは、&lt;/span&gt;&lt;a href="https://docs.cloud.google.com/alloydb/omni/redhat-orchestrator/current/docs/database-availability-reference-architecture-overview?hl=ja"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;AlloyDB Omni の可用性リファレンス アーキテクチャの概要&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;をご覧ください。オーケストレーターは、ユーザーがインスタンス パラメータ、ノード構成、ネットワーキング オプションを調整してカスタマイズ可能なリファレンス アーキテクチャ仕様を定義できるようにすることで、クラスタのプロビジョニングとライフサイクル管理を簡素化します。スケーラブルな AlloyDB Omni HA リファレンス アーキテクチャのデプロイ図の例を以下に示します。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-image_full_width"&gt;






  
    &lt;div class="article-module h-c-page"&gt;
      &lt;div class="h-c-grid"&gt;
  

    &lt;figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      "
      &gt;

      
      
        
        &lt;img
            src="https://storage.googleapis.com/gweb-cloudblog-publish/images/1_8L3W52J.max-1000x1000.jpg"
        
          alt="1"&gt;
        
        &lt;/a&gt;
      
        &lt;figcaption class="article-image__caption "&gt;&lt;p data-block-key="mfw8q"&gt;RPM オーケストレーターを使用した AlloyDB Omni クラスタの高可用性リファレンス アーキテクチャ&lt;/p&gt;&lt;/figcaption&gt;
      
    &lt;/figure&gt;

  
      &lt;/div&gt;
    &lt;/div&gt;
  




&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;この図は、&lt;/span&gt;&lt;strong style="font-style: italic; vertical-align: baseline;"&gt;RPM オーケストレーター&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;によって管理される &lt;/span&gt;&lt;strong style="font-style: italic; vertical-align: baseline;"&gt;AlloyDB Omni&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; の高可用性分散データベース リファレンス アーキテクチャを示しています。クライアント アプリケーションは堅牢なロード バランシング層に接続し、ロードバランサは読み取り / 書き込みトラフィックをアクティブなプライマリ データベース ノードに直接ルーティングしています。また、読み取り専用トラフィックはレプリカノードにルーティングされています。ロードバランサは仮想 IP（VIP）を使用しており、&lt;/span&gt;&lt;strong style="font-style: italic; vertical-align: baseline;"&gt;Keepalived&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;（VIP フェイルオーバー用）、&lt;/span&gt;&lt;strong style="font-style: italic; vertical-align: baseline;"&gt;PgBouncer&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;（PostgreSQL 接続プーリング用）、&lt;/span&gt;&lt;strong style="font-style: italic; vertical-align: baseline;"&gt;Haproxy&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;（ルーティングとロード バランシング用）により、ロードバランサ自体が高可用性を備えています。&lt;/span&gt;&lt;strong style="font-style: italic; vertical-align: baseline;"&gt;AlloyDB Omni プライマリ &lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;インスタンス&lt;/span&gt;&lt;strong style="font-style: italic; vertical-align: baseline;"&gt; &lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;データベース ノードは、複数のゾーンにわたってデータを同期的に複製することで高可用性を実現します。プライマリ HA クラスタに影響を与えずに、読み取り負荷の高いワークロードをスケールアウトするために、個別の&lt;/span&gt;&lt;strong style="font-style: italic; vertical-align: baseline;"&gt;読み取りプール &lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;インスタンスがデプロイされています。これらはアクティブ ノードから非同期レプリケーションを受け取り、スケールアウトされます。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;この図は、独立したコントロール プレーンがクラスタ全体の構成と状態を管理する仕組みを示しています。管理者は RPM オーケストレーターを操作して、データベースのライフサイクルを監視します。コントロール プレーンは、冗長な&lt;/span&gt;&lt;strong style="font-style: italic; vertical-align: baseline;"&gt;クラスタ マネージャー&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;と 3 ノードの etcd ベースの&lt;/span&gt;&lt;strong style="font-style: italic; vertical-align: baseline;"&gt;分散構成ストア&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;で構成されており、クラスタの状態を確実に維持して構成を管理できます。コントローラは、個々のデータベース ノードで実行されている&lt;/span&gt;&lt;strong style="font-style: italic; vertical-align: baseline;"&gt;ノード マネージャー&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;と直接やり取りします。単一のクラスタのみをデプロイする場合は、コントロール プレーンとデータプレーンのコンポーネントを同じノードセットで実行できます。&lt;/span&gt;&lt;/p&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;高可用性と読み取りのスケーラビリティ&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;RPM オーケストレーターを使用すると、要求の厳しいワークロードの稼働時間の維持と読み取りのスケーリングが簡単になります。このオーケストレーターは、スタック全体の障害を自動的に処理できる復元力のあるアーキテクチャを提供します。たとえば、すべてのデータ / 制御パス コンポーネントや読み取り可能なスタンバイの障害を処理する機能や、ノード間のネットワーク中断を軽減する機能などがあります。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;このオーケストレーターは、読み取りワークロードをスケールアウトするための&lt;/span&gt;&lt;a href="https://docs.cloud.google.com/alloydb/omni/redhat-orchestrator/current/docs/read-pool-orchestrator"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;読み取りプール&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;をサポートするようになりました。これにより、読み取りプールを動的に作成したりクラスタに追加したりして、分析クエリや同様のワークロードのニーズを満たすことができます。また、スタンバイ ノードと読み取りプールに対する専用の読み取りエンドポイントの構成もシステムによって行われます。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Google は、AlloyDB Omni RPM オーケストレーターの機能を継続的に拡張しています。ビジネスの継続性とクロスリージョンの復元力をさらに強化する高度なエンタープライズ グレードの機能など、今後の機能にご期待ください。&lt;/span&gt;&lt;/p&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;データ保護とセキュリティ&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;データ セキュリティとデータの復元は、RPM オーケストレーターの中核をなす要素です。このリリースでは、自動化された&lt;/span&gt;&lt;a href="https://docs.cloud.google.com/alloydb/omni/redhat-orchestrator/current/docs/backup-restore"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;バックアップと復元の機能&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;が統合され、バックアップ スケジュールを構成して、GCS または S3 互換ストレージへの完全自動バックアップを自動的に管理できるようになりました。このオーケストレーターを使用すると、S3 バケットまたは GCS バケットに対して、またはローカルでバックアップを実行できます。さらに、ポイントインタイム リカバリと、完全に自動化されたインプレース PIT 復元がネイティブにサポートされています。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;RPM オーケストレーターは、ブートストラップ時またはブートストラップ後の SELinux 適用をサポートしています。これにより、厳格な企業のコンプライアンスとセキュリティ基準を満たし、強制的なアクセス制御と強力なプロセス分離を実現できます。&lt;/span&gt;&lt;/p&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt; データベース運用&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;データベース フリートの管理に関連する運用上のオーバーヘッドが削減されました。&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;手間のかからない低ダウンタイム メンテナンス: &lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;完全に自動化された新しい低ダウンタイム メンテナンス（LDTM）により、ライフサイクル アップデートとスケーリング オペレーションの管理が容易になります。マイナー バージョンのアップグレード時や CPU とメモリリソースの調整時に、ダウンタイムを最小限に抑え、自動ロールバックをサポートすることで、最大限の可用性を実現します。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;動的な構成: &lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;データベース管理者は、ブートストラップ時またはブートストラップ後に GUC / 構成を変更する機能などを使用して、設定を動的に調整できます。AI 統合用のクラスタをプロビジョニングすることもできます。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;クラスタ メンテナンスの簡素化: &lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;ワークロードの需要の変化に応じてデータベース ノードを追加または削除するネイティブな運用機能により、クラスタ フットプリントの管理が簡単になります。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;オブザーバビリティ、AI、拡張機能&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;フリートのモニタリングと調整には、細部まで把握できる可視性と適切なツールセットが必要です。&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;高度なロギング: &lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;このオーケストレーターは、データパスとコントロール パスのログをログディスクに転送することで、監査とデバッグを簡素化します。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;優れたオブザーバビリティ: &lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;カスタム指標がサポートされているため、モニタリング エコシステムに合わせてオブザーバビリティを微調整できます。カスタム指標を使用すると、1 分あたりの新規ユーザー登録数、特定のテナントのアクティブ セッション数、処理された注文数など、ビジネスレベルのイベントをデータベースから直接追跡し、自社の中心的なオブザーバビリティ プラットフォームにエクスポートできます。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;AI と拡張機能:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; このオーケストレーターでは、AlloyDB Omni でサポートされている&lt;/span&gt;&lt;a href="https://docs.cloud.google.com/alloydb/omni/redhat-orchestrator/current/docs/reference/extensions"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;一連の拡張機能&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;だけでなく、&lt;/span&gt;&lt;a href="https://docs.cloud.google.com/alloydb/omni/linux/current/docs/ai/generate-sql-queries-natural-language"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;自然言語を使用したクエリ&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;、&lt;/span&gt;&lt;a href="https://docs.cloud.google.com/alloydb/omni/linux/current/docs/ai/store-embeddings"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;AI を活用した検索&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;、&lt;/span&gt;&lt;a href="https://docs.cloud.google.com/alloydb/omni/linux/current/docs/ai/evaluate-semantic-queries-ai-operators"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;AI 関数&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;など、AlloyDB Omni のすべての AI 機能がサポートされています。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;早速始めましょう&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;AlloyDB Omni Red Hat RPM オーケストレーターは、ベアメタルまたは VM プラットフォームで PostgreSQL 互換ワークロードを管理するための新たな手段となります。AlloyDB の高パフォーマンス、生成 AI 機能へのアクセス、Gemini モデルを組み合わせて、AI エージェントとアプリケーションを構築し、完全な自動化を実現できます。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;オンプレミスのデータベース運用のレベルアップをご希望なら、AlloyDB の&lt;/span&gt;&lt;a href="https://docs.cloud.google.com/alloydb/omni/redhat-orchestrator/current/docs/overview"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;ドキュメント&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;で詳細をご確認のうえ、今すぐ一般提供リリースをお試しください。&lt;/span&gt;&lt;a href="http://forms.gle/zxuHekMtV67Bw9Av9" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;こちらからご登録&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;いただけます。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;さらに、Google の新しい &lt;/span&gt;&lt;a href="https://codelabs.developers.google.com/alloydb/omni/rpm/alloydb-omni-vm-ha-deployment" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Codelab&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; もお試しください。RPM オーケストレーターを使用して高可用性 AlloyDB Omni クラスタをデプロイできます。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="font-style: italic; vertical-align: baseline;"&gt;- &lt;/strong&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;シニア スタッフ エンジニア、&lt;/span&gt;&lt;strong style="font-style: italic; vertical-align: baseline;"&gt;Ujjwal Lanjewar&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="font-style: italic; vertical-align: baseline;"&gt;- &lt;/strong&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;プロダクト マネージャー、&lt;/span&gt;&lt;strong style="font-style: italic; vertical-align: baseline;"&gt;Omkar Deshmukh&lt;/strong&gt;&lt;/p&gt;&lt;/div&gt;</description><pubDate>Fri, 18 Sep 2026 02:30:00 +0000</pubDate><guid>https://cloud.google.com/blog/ja/products/databases/alloydb-omni-rpm-orchestrator-is-generally-available/</guid><category>Databases</category><og xmlns:og="http://ogp.me/ns#"><type>article</type><title>AlloyDB Omni RPM オーケストレーターを使用するエンタープライズ グレードの PostgreSQL の一般提供を開始</title><description></description><site_name>Google</site_name><url>https://cloud.google.com/blog/ja/products/databases/alloydb-omni-rpm-orchestrator-is-generally-available/</url></og><author xmlns:author="http://www.w3.org/2005/Atom"><name>Ujjwal Lanjewar</name><title>Senior Staff Engineer</title><department></department><company></company></author><author xmlns:author="http://www.w3.org/2005/Atom"><name>Omkar Deshmukh</name><title>Product Manager</title><department></department><company></company></author></item><item><title>DMS の領域を超えて: SQL Server のログインとユーザーを Cloud SQL に効率的に移行</title><link>https://cloud.google.com/blog/ja/products/databases/how-to-replicate-sql-server-logins-and-passwords-to-cloud-sql/</link><description>&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;※この投稿は米国時間 2026 年 9 月 10 日に、Google Cloud blog に&lt;/span&gt;&lt;a href="https://cloud.google.com/blog/products/databases/how-to-replicate-sql-server-logins-and-passwords-to-cloud-sql?e=0&amp;amp;hl=en"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;投稿&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;されたものの抄訳です。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;データベースのモダナイゼーションを計画したとしましょう。Google Cloud の &lt;/span&gt;&lt;a href="https://cloud.google.com/database-migration"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Database Migration Service&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;（DMS）を設定し、レプリケーションを構成して、オンプレミスまたはクラウド システムからフルマネージドの &lt;/span&gt;&lt;a href="https://cloud.google.com/sql/sqlserver"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Cloud SQL for SQL Server&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; インスタンスにアプリケーション データベースを正常に同期しました。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;そしてレプリケーションが完了し、データが最新の状態になり、カットオーバーの準備が整いました。しかし、移行したばかりのデータベースにアプリケーションを接続しようとすると、次のメッセージが表示され、壁にぶつかります。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;code style="vertical-align: baseline;"&gt;Msg 18456, Level 14, State 1, Line 1: Login failed for user 'app_user.&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;原因は単純です。SQL Server のログインが、データベースと一緒に移行されなかったからです。この投稿では、このギャップが存在する理由、これが組織のセキュリティ ポスチャーの保護につながる理由、そして長年の実績がある標準的な SQL Server ツールを使用して簡単にこのギャップを埋める方法をご説明します。&lt;/span&gt;&lt;/p&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;DMS でログインが移行されない理由: セキュリティとコンプライアンス&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Database Migration Service（DMS）は、データベース レベルのスキーマとトランザクション データを非常に効率的に複製しますが、システム &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;master&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; データベースやサーバーのログインと権限などのインスタンス レベルのオブジェクトは移行しません。これは、意図的な動作です。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;機能が欠けているように感じられるかもしれませんが、実際には、次の 3 つの基本方針に基づく慎重な設計なのです。&lt;/span&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li aria-level="1" style="list-style-type: decimal; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;セキュリティの分離と権限の境界:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; 移行元の環境と移行先の Cloud SQL 環境は、異なるセキュリティ パラダイムで運用されています。マスター システム データベースを直接複製すると、不正な権限昇格につながる可能性があります。たとえば、&lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;sysadmin&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; 権限を持つオンプレミスのログインに、フルマネージドの Google Cloud データベースへの無制限の &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;sysadmin&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; アクセス権を付与すべきではありません。クラウド プロバイダが物理的なバックアップ、パッチ適用、セキュリティを管理する場合、適切な運用を確保するために、基盤となるオペレーティング システムへのアクセスを制限する必要があります。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: decimal; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;コンプライアンスと監査ガバナンス:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; 暗号化されたパスワード ハッシュとサーバーレベルのセキュリティ認証情報を、管理者の明示的な監視なしに自動的に移行した場合、PCI-DSS や SOC 2 などの企業のコンプライアンス フレームワークに違反してしまうことが珍しくありません。セキュリティ オブジェクトの移行を管理者が主導する慎重なステップとして維持することで、組織は承認された ID のみがクラウド ランディング ゾーンにプロビジョニングされることを保証できます。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: decimal; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;ID のモダナイゼーションの必要性:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; クラウドへの移行は、古くなった認証情報を更新および削除する絶好の機会です。オンプレミス インスタンスには、使用されなくなった以前の SQL ログインが含まれていることがよくあります。深く考えずにそれらをクラウド マネージド サービスに複製することは、セキュリティのアンチパターンです。さらに、Cloud SQL への移行が、以前の SQL 認証から、顧客管理の Active Directory（CMAD）などのクラウドネイティブな最新の ID ソリューションへの移行を促進するきっかけとなることがよくあります。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;ログインとユーザーの違い: SID 接続&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;ログインを正常に移行するために、SQL Server がセキュリティを管理する方法を簡単に復習しておきましょう。SQL Server では、ID が次の 2 つのレイヤに分かれています。&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;ログイン（サーバーレベル）:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;master&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; データベースに保存されます。ログインは、SQL Server インスタンスへのクライアント接続を認証します。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;ユーザー（データベース レベル）:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; 個々のユーザー データベース内に保存されます。ユーザーは、その特定のデータベース内で接続が実行できるアクションを承認します。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;サーバー ログインとデータベース ユーザーを橋渡しするのは、一意の&lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;セキュリティ識別子（SID）&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;です。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;データベースをバックアップして復元する（または DMS を使用して複製する）と、データベース レベルの「ユーザー」（および対応する SID）がデータベース ファイル内に移行されます。ただし、対応するサーバーレベルの「ログイン」が移行先の &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;master&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; データベースに存在しない場合、または存在しても SID が異なる場合、マッピングは解除されます。これにより、データベース アクセス権限はあるものの、サーバーレベルで認証できない「孤立したユーザー」が生じます。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-image_full_width"&gt;






  
    &lt;div class="article-module h-c-page"&gt;
      &lt;div class="h-c-grid"&gt;
  

    &lt;figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      "
      &gt;

      
      
        
        &lt;img
            src="https://storage.googleapis.com/gweb-cloudblog-publish/images/image1_kO5uMVL.max-1000x1000.png"
        
          alt="SQL Server Logins 1"&gt;
        
        &lt;/a&gt;
      
        &lt;figcaption class="article-image__caption "&gt;&lt;p data-block-key="3j2ef"&gt;図 1: 対応するログインがないデータベース、またはセキュリティ識別子（SID）が一致しないデータベースを移行すると、移行先のインスタンスで孤立したユーザーが生じる。&lt;/p&gt;&lt;/figcaption&gt;
      
    &lt;/figure&gt;

  
      &lt;/div&gt;
    &lt;/div&gt;
  




&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;推奨ソリューション: sp_help_revlogin を使用してログインを複製する&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;すべてのログインを手動で再作成し、パスワード ハッシュの見当を付けようとする代わりに、Microsoft が従来より提供しているスクリプト &lt;/span&gt;&lt;a href="https://learn.microsoft.com/en-us/troubleshoot/sql/database-engine/security/transfer-logins-passwords-between-instances" rel="noopener" target="_blank"&gt;&lt;code style="text-decoration: underline; vertical-align: baseline;"&gt;sp_help_revlogin&lt;/code&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; を使用するとよいでしょう。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;このスクリプトは、移行元インスタンスのすべての SQL Server 認証ログイン用 &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;CREATE LOGIN&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; ステートメントを含む T-SQL クエリを生成します。このステートメントは、元の暗号化されたパスワード ハッシュと正確なセキュリティ識別子（SID）を備えています。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;ステップ 1: 移行元インスタンスでヘルパー プロシージャを作成する&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;SQL Server Management Studio（SSMS）を使用して、移行元の SQL Server インスタンスに接続します。Microsoft の公式スクリプトをコピーして実行し、移行元の &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;master&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; データベースに 2 つの必須ストアド プロシージャ（&lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;sp_hexadecimal&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; と &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;sp_help_revlogin&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt;）を作成します。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;ステップ 2: 移行スクリプトを生成する&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;プロシージャが作成されたら、SSMS のクエリ ウィンドウで次のステートメントを実行します。出力を正確にコピーするには、出力設定を [&lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;Results to Text&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;] に切り替えてください（Ctrl+T）。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;#x27;EXEC master.dbo.sp_help_revlogin;&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7fdf933a94d0&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;出力には、次のような自動生成された T-SQL ステートメントが含まれます。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;#x27;CREATE LOGIN [app_user] WITH PASSWORD = 0x01004F3D... HASHED, SID = 0x8D2F..., DEFAULT_DATABASE = [CustomerDB]&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7fdf933ab0d0&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;code style="vertical-align: baseline;"&gt;HASHED&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; パスワード オプションと元の &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;SID&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; を使用してログインをスクリプト化することで、SQL Server で元のパスワードと安全なリンクをそのまま維持してログインを安全に再作成できます。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;ステップ 3: スクリプトを Cloud SQL に適用する&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;生成されたスクリプトをコピーし、移行先の Cloud SQL for SQL Server インスタンスに接続して、クエリを実行します。ログインは、正しいパスワードでクラウドに即座に作成されます。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;sp_help_revlogin によって生成されたスクリプトを実行することで、正確なセキュリティ識別子（SID）とパスワード ハッシュをそのまま維持した状態で、移行先の Cloud SQL インスタンスにログインを複製できます。以下に示すように、これにより、データベース レベルのユーザーがデータベースの移行時にサーバーレベルのログインに自動的にマッピングされるため、「孤立したユーザー」を完全に回避できます。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-image_full_width"&gt;






  
    &lt;div class="article-module h-c-page"&gt;
      &lt;div class="h-c-grid"&gt;
  

    &lt;figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      "
      &gt;

      
      
        
        &lt;img
            src="https://storage.googleapis.com/gweb-cloudblog-publish/images/image2_lFILOIi.max-1000x1000.png"
        
          alt="SQL Server Logins 2"&gt;
        
        &lt;/a&gt;
      
        &lt;figcaption class="article-image__caption "&gt;&lt;p data-block-key="3j2ef"&gt;図 2: sp_help_revlogin スクリプトを使用した統合移行プロセス。パスワード ハッシュと元の SID を保持し、Cloud SQL for SQL Server でユーザー マッピングを解決する。&lt;/p&gt;&lt;/figcaption&gt;
      
    &lt;/figure&gt;

  
      &lt;/div&gt;
    &lt;/div&gt;
  




&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;注: &lt;/strong&gt;&lt;strong style="vertical-align: baseline;"&gt;sp_help_revlogin&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; は、Microsoft が作成、管理しているストアド プロシージャです。必ず最新バージョンをダウンロードし、&lt;/span&gt;&lt;a href="https://learn.microsoft.com/en-us/troubleshoot/sql/database-engine/security/transfer-logins-passwords-between-instances" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;ドキュメント&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;をお読みください。&lt;/span&gt;&lt;/p&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;孤立したユーザーのトラブルシューティング&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;code style="vertical-align: baseline;"&gt;sp_help_revlogin&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; を実行する前に、移行先の Cloud SQL インスタンスにログインを手動で作成していた場合、SID が一致せず、ユーザーが「孤立」する可能性があります。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;孤立したユーザー（&lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;app_user&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; など）が見つかった場合は、次の 1 つのコマンドで簡単に、新しく作成したサーバー ログインに再マッピングできます。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;#x27;ALTER USER [app_user] WITH LOGIN = [app_user];&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7fdf933a9050&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;このコマンドにより、データベース ユーザーとサーバー ログインが SID を介してすぐに再結合され、アプリケーションの接続が完全に復元されます。&lt;/span&gt;&lt;/p&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;セキュリティをさらに強化&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;code style="vertical-align: baseline;"&gt;sp_help_revlogin&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; を使用した SQL ログインの移行は、リフト＆シフト移行の最も簡単な方法ですが、クラウド移行を利用した認証のモダナイズもご検討いただけます。Cloud SQL for SQL Server は、&lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;顧客管理の Active Directory（CMAD）&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;との堅牢な統合をサポートしています。移行先インスタンスを Active Directory と統合することで、従来の SQL ログインを廃止し、一元化されたエンタープライズ グレードの Kerberos 認証に移行できます。&lt;/span&gt;&lt;/p&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;まとめ&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;データベースの移行は、単なるデータ行の移動ではありません。アプリケーションのセキュリティ、コンプライアンス、運用性を初日から確保することが重要です。Google Cloud の DMS によってデータ レプリケーションの煩雑な処理を行う一方、シームレスなカットオーバーを保証する簡単な 3 ステップのプロセスでログインを移行できます。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;移行戦略の最適化について詳しくは、&lt;/span&gt;&lt;a href="https://cloud.google.com/sql/docs/sqlserver/migrate-data"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Cloud SQL for SQL Server 移行ガイド&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;をご覧ください。また、&lt;/span&gt;&lt;a href="https://cloud.google.com/database-migration-service"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Database Migration Service&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; を使用して Google Cloud への移行を効率化する方法もご確認ください。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="font-style: italic; vertical-align: baseline;"&gt;- &lt;/strong&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;SQL Server ブラックベルト、&lt;/span&gt;&lt;strong style="font-style: italic; vertical-align: baseline;"&gt;Assaf Fraenkel&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="font-style: italic; vertical-align: baseline;"&gt;- &lt;/strong&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;シニア プロダクト マネージャー、&lt;/span&gt;&lt;strong style="font-style: italic; vertical-align: baseline;"&gt;Adi Shtatfeld&lt;/strong&gt;&lt;/p&gt;&lt;/div&gt;</description><pubDate>Fri, 18 Sep 2026 02:30:00 +0000</pubDate><guid>https://cloud.google.com/blog/ja/products/databases/how-to-replicate-sql-server-logins-and-passwords-to-cloud-sql/</guid><category>Cloud SQL</category><category>Databases</category><og xmlns:og="http://ogp.me/ns#"><type>article</type><title>DMS の領域を超えて: SQL Server のログインとユーザーを Cloud SQL に効率的に移行</title><description></description><site_name>Google</site_name><url>https://cloud.google.com/blog/ja/products/databases/how-to-replicate-sql-server-logins-and-passwords-to-cloud-sql/</url></og><author xmlns:author="http://www.w3.org/2005/Atom"><name>Assaf Fraenkel</name><title>SQL Server Blackbelt</title><department></department><company></company></author><author xmlns:author="http://www.w3.org/2005/Atom"><name>Adi Shtatfeld</name><title>Senior Product Manager</title><department></department><company></company></author></item><item><title>Spanner: DML トランザクションの累積ミューテーション上限を撤廃</title><link>https://cloud.google.com/blog/ja/products/databases/spanner-removes-dml-mutation-limits/</link><description>&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;※この投稿は米国時間 2026 年 9 月 10 日に、Google Cloud blog に&lt;/span&gt;&lt;a href="https://cloud.google.com/blog/products/databases/spanner-removes-dml-mutation-limits?e=0&amp;amp;hl=en"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;投稿&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;されたものの抄訳です。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Spanner は、Google Cloud の妥協のない業務データベースです。水平スケーリングや常時稼働の可用性といった最新の分散型システムの利点に加え、豊富な機能セットや使い慣れたエコシステムといったリレーショナル データベースの利点を兼ね備えています。現在、銀行、小売、メディア、エンターテイメント、AI インフラストラクチャなどの業界のイノベーターが、最も重要なワークロードに Spanner を利用しています。この Spanner において、このたび、より大規模かつ複雑なトランザクションを柔軟に処理する新しい方法が導入されたことをお知らせします。これにより、最高レベルのデータ整合性を必要とするアプリケーションを簡素化できるようになります。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;一般に、業務のワークロードは、リアルタイムの意思決定ときめ細かい更新の組み合わせです。たとえば、e コマースアプリで複数ステップの購入手続き中に不正行為を特定する場合を考えてみましょう。このような変更はトランザクション単位、つまり、すべてが成功するか、すべてが失敗するかのどちらかである必要があります。また、後続のリクエストが正しいデータを参照できる必要があります。Spanner の ACID トランザクションに対する今回のアップデートにより、アプリケーションは使い慣れた DML を使用して、整合性、スケーラビリティ、可用性を損なうことなく、更新時により多くのデータを処理できるようになります。&lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;&lt;strong style="vertical-align: baseline;"&gt;高い上限で柔軟性が向上&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;これまで Spanner では、クエリが 1 回のトランザクションで実行できる変更（DML を使用する場合など）の上限が 80,000 件でした。これは、更新する行数と列数の積に、依存するインデックスを加えたものとして大まかに計算されていました。アプリケーションは、時間の経過とともに、より多くのデータを処理し、新しい機能を提供できるように進化します。こうした進化に伴い、トランザクションのサイズが拡大すると、以前は小さかったトランザクションがこの上限に達する可能性が生じます。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;今回のアップデートでは、80,000 件というミューテーション数の上限がトランザクションから個々の DML ステートメントに移行されます。DML ステートメントは、トランザクション レベルの全体的なミューテーション数の上限に影響しなくなります。INSERT、UPDATE、DELETE など、個々の DML ステートメントが生成するミューテーション数が 80,000 件未満である限り、1 つのトランザクションにいくつでも DML ステートメントを含められるようになりました。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;主なメリット&lt;/span&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li aria-level="1" style="list-style-type: decimal; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;大規模なトランザクション:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; 累積ミューテーション数の上限に準拠するために、DML ステートメントを人為的に分割するのではなく、ビジネス要件に基づいて論理的にグループ化できます。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: decimal; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;シームレスな移行:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; 今回の変更は、既存のすべての Spanner クライアント ライブラリと互換性があるため、アプリケーション コードの更新は不要です。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h3&gt;&lt;strong style="vertical-align: baseline;"&gt;技術的な考慮事項&lt;/strong&gt;&lt;/h3&gt;
&lt;h4&gt;&lt;span style="vertical-align: baseline;"&gt;ロックと中止&lt;/span&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;1 つのトランザクションに含めることができる DML ステートメントの数が増えた一方で、トランザクションの規模が拡大して実行時間が長くなると、ロックが保持される時間も長くなることに注意が必要です。これにより、&lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;ロックの競合&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;や&lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;トランザクションの中止&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;が発生する可能性が高まります。トランザクションを簡潔に保つことで、高いパフォーマンスを維持し、リソースの競合を最小限に抑えることができます。&lt;/span&gt;&lt;/p&gt;
&lt;h4&gt;&lt;span style="vertical-align: baseline;"&gt;DML と Mutation API&lt;/span&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;上限の適用は、データを変更する方法によって異なります。&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;DML ステートメント:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; 各ステートメント（executeUpdate など）がミューテーション数の上限 80,000 件に対して個別に評価されます。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;Mutation API:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; insert() や update() など、クライアント ライブラリのメソッドを使用する場合、ミューテーションは Commit 呼び出し中に提供されます。80,000 件の上限は引き続き、その 1 回の呼び出しに含まれるミューテーションの&lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;セット全体&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;に適用されます。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;&lt;span style="vertical-align: baseline;"&gt;ミューテーション数について&lt;/span&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Spanner では、変更されたセル、主キー、セカンダリ インデックスの更新を含め、変更の複雑さに基づいてミューテーション数が数えられます。ミューテーションの数え方について詳しくは、&lt;/span&gt;&lt;a href="https://cloud.google.com/blog/products/databases/cloud-spanner-doubles-the-number-of-updates-per-transaction"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;こちら&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;のブログをご覧ください。commit されたトランザクションの合計ミューテーション数は、CommitStats の mutation_count を使用して確認できます。mutation_count には、すべての DML ステートメントと commit 呼び出しにわたって、トランザクションの一部であるすべてのミューテーションが含まれます。&lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;&lt;strong style="vertical-align: baseline;"&gt;Java の実装例&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;次の例は、新しい上限のロジックで、1 つのトランザクション内で複数の DML ステートメントを実行する方法を示しています。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;#x27;import com.google.cloud.spanner.DatabaseClient;\r\nimport com.google.cloud.spanner.Statement;\r\nimport com.google.cloud.spanner.TransactionContext;\r\nimport com.google.cloud.spanner.TransactionRunner.Work;\r\n\r\n// Assuming dbClient is your initialized DatabaseClient\r\ndbClient\r\n    .readWriteTransaction()\r\n    .run(\r\n        new Work&amp;lt;Void&amp;gt;() {\r\n          @Override\r\n          public Void doWork(TransactionContext transaction) throws Exception {\r\n            // Each executeUpdate call is evaluated separately against the 80k mod limit.\r\n\r\n            // Example 1: Updating specific products\r\n            Statement stmt1 = Statement.newBuilder(\r\n                        &amp;quot;UPDATE Products SET InStock = FALSE WHERE ProductId = @productId&amp;quot;)\r\n                    .bind(&amp;quot;productId&amp;quot;).to(1L)\r\n                    .build();\r\n            transaction.executeUpdate(stmt1); // Verified against 80k limit\r\n\r\n            Statement stmt2 = Statement.newBuilder(\r\n                        &amp;quot;UPDATE Products SET InStock = FALSE WHERE ProductId = @productId&amp;quot;)\r\n                    .bind(&amp;quot;productId&amp;quot;).to(2L)\r\n                    .build();\r\n            transaction.executeUpdate(stmt2); // Verified against 80k limit separately\r\n\r\n            // Example 2: Inserting related order data\r\n            Statement stmt3 = Statement.newBuilder(\r\n                        &amp;quot;INSERT INTO OrderItems (OrderId, ItemId, Quantity) VALUES (@orderId, @itemId, @qty)&amp;quot;)\r\n                    .bind(&amp;quot;orderId&amp;quot;).to(100L)\r\n                    .bind(&amp;quot;itemId&amp;quot;).to(1L)\r\n                    .bind(&amp;quot;qty&amp;quot;).to(2)\r\n                    .build();\r\n            transaction.executeUpdate(stmt3); \r\n\r\n            Statement stmt4 = Statement.newBuilder(\r\n                        &amp;quot;UPDATE Orders SET LastUpdated = PENDING_COMMIT_TIMESTAMP() WHERE OrderId = @orderId&amp;quot;)\r\n                    .bind(&amp;quot;orderId&amp;quot;).to(100L)\r\n                    .build();\r\n            transaction.executeUpdate(stmt4); \r\n\r\n            return null;\r\n          }\r\n        });&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7fdf93224090&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;h3&gt;&lt;strong style="vertical-align: baseline;"&gt;変更がない点&lt;/strong&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;個々のステートメントの上限:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; 1 つの DML ステートメントが生成するミューテーション数が 80,000 件を超える場合は、現在と同じエラーが返されます。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;その他のトランザクション上限:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; 最大トランザクション サイズ（バイト単位）など、その他の制約は引き続き有効です。詳細については、&lt;/span&gt;&lt;a href="https://docs.cloud.google.com/spanner/quotas"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;こちら&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;をご覧ください。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;&lt;strong style="vertical-align: baseline;"&gt;ベスト プラクティス&lt;/strong&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;CommitStats をモニタリングする:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; CommitStats で返される mutation_count を利用して、処理によって生成される負荷を把握します。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;大規模な処理を最適化する:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; 1 つのステートメント（一括更新など）が上限を超える場合は、&lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;パーティション化 DML&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; の使用や、キーによるページ分けを検討します。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Spanner は、ダウンタイムなしでスケールする必要がある業務アプリケーションの選択肢として、信頼性に優れています。ミューテーション数の上限が引き上げられたことで、デベロッパーは Spanner のグローバル規模での整合性を活用して、より大規模なトランザクションを柔軟に実行できるようになります。Spanner を使用して、リスクを抑えつつイノベーションを推進する方法を&lt;/span&gt;&lt;a href="https://cloud.google.com/spanner"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;ご確認&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;ください。また、&lt;/span&gt;&lt;a href="https://docs.cloud.google.com/spanner/docs/free-trial-instance"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;無料トライアル&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;や、月額わずか 54 ドルから利用できる本番環境インスタンスで、実際にお試しいただくこともできます。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;外部の関連資料&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;a href="https://docs.cloud.google.com/spanner/quotas"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;割り当てと上限  |  Spanner  |  Google Cloud ドキュメント&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;a href="https://docs.cloud.google.com/spanner/docs/dml-versus-mutations"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;DML とミューテーションを比較する  |  Spanner  |  Google Cloud ドキュメント&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;a href="http://go/cspanner-docs/commit-statistics" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;トランザクションの commit に関する統計情報を取得する  |  Spanner  |  Google Cloud ドキュメント&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong style="font-style: italic; vertical-align: baseline;"&gt;- &lt;/strong&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;スタッフ ソフトウェア エンジニア、&lt;/span&gt;&lt;strong style="font-style: italic; vertical-align: baseline;"&gt;Rajeshwar Vanka&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="font-style: italic; vertical-align: baseline;"&gt;- &lt;/strong&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;プロダクト マネージャー、&lt;/span&gt;&lt;strong style="font-style: italic; vertical-align: baseline;"&gt;Justin Makeig&lt;/strong&gt;&lt;/p&gt;&lt;/div&gt;</description><pubDate>Thu, 17 Sep 2026 02:00:00 +0000</pubDate><guid>https://cloud.google.com/blog/ja/products/databases/spanner-removes-dml-mutation-limits/</guid><category>Spanner</category><category>Databases</category><og xmlns:og="http://ogp.me/ns#"><type>article</type><title>Spanner: DML トランザクションの累積ミューテーション上限を撤廃</title><description></description><site_name>Google</site_name><url>https://cloud.google.com/blog/ja/products/databases/spanner-removes-dml-mutation-limits/</url></og><author xmlns:author="http://www.w3.org/2005/Atom"><name>Rajeshwar Vanka</name><title>Staff Software Engineer</title><department></department><company></company></author><author xmlns:author="http://www.w3.org/2005/Atom"><name>Justin Makeig</name><title>Product Manager</title><department></department><company></company></author></item><item><title>メジャーがサポートされるようになった BigQuery Graph を使用して、信頼できるエージェント ワークロードを実現</title><link>https://cloud.google.com/blog/ja/products/data-analytics/bigquery-graphs-with-measures-for-trusted-agentic-workloads/</link><description>&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;※この投稿は米国時間 2026 年 8 月 14 日に、Google Cloud blog に&lt;/span&gt;&lt;a href="https://cloud.google.com/blog/products/data-analytics/bigquery-graphs-with-measures-for-trusted-agentic-workloads?e=48754805&amp;amp;hl=en"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;投稿&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;されたものの抄訳です。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;企業が単純なチャット アシスタントの使用から自律型のエージェント ワークロードに移行すると、すぐに厳しい現実に直面します。それは、エージェントが元テーブルを直接使用する際に、不正確な分析情報を生成する傾向があるということです。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://docs.cloud.google.com/bigquery/docs/graph-measures"&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt;BigQuery Graph&lt;/strong&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; は、組織がフラットで静的なテーブルから脱却し、現実世界に存在する企業を正確に表現できるように、つまり、現実世界の依存関係を持つ、相互に接続された事業体として表現できるようにします。BigQuery Graph（プレビュー版）でメジャーがサポートされるようになったことで、管理された指標と関係マッピングが統合されます。これにより、エージェントはグラフで収集された複雑な依存関係全体について、メジャーの精度に基づいて推論できます。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;関係が重要な理由&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;従来のデータ構造では、マルチホップのビジネス コンテキストが考慮されないため、次のように、AI エージェントが運用上誤った意思決定を行うことがあります。&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;具体的な問題:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; 小売業者のエージェントが、シアトルでの冬用ジャケットの売り上げが 12% 減少した理由を尋ねられた場合、フラット テーブルをクエリして、「事実」（12% の減少）を報告することはできますが、「シアトルの注文 ➔ 配送センター ➔ 地域の嵐によるサプライヤーの遅延」という関係パスを追跡できないため、「理由」を特定することはできません。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;分断されたシステムのリスク:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; 関係のコンテキストがないため、エージェントが関連性のない 15% オフのキャンペーンを提案し、不必要に利益率を低下させます。さらに、あるチームがサプライヤーの関係を別のグラフ データベースにマッピングし、別のチームが SQL 指標を維持するというように、別々のシステムを維持すると、エージェントは実行時にこれらのスタックを結合せざるを得なくなります。このプロセスは時間がかかり、費用もかさみ、KPI の計算に一貫性がなくなります。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;BigQuery Graph のメジャーは、&lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;既存のテーブルをプロパティ グラフにインプレースでマッピングし、ETL を不要にする&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;ことで、この問題を解決します。この統合された設定により、次のような問い合わせの論理的な進化が可能になります。&lt;/span&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li aria-level="1" style="list-style-type: decimal; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;メタデータのグラウンディング&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;は、存在する&lt;/span&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;データ&lt;/span&gt;&lt;span style="vertical-align: baseline;"&gt;を確立します。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: decimal; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;ビジネス指標（メジャー）&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;は、ビジネスの&lt;/span&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;パフォーマンス&lt;/span&gt;&lt;span style="vertical-align: baseline;"&gt;を計算します。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: decimal; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;関係マッピング（グラフ）&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;は、それが起こった&lt;/span&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;理由&lt;/span&gt;&lt;span style="vertical-align: baseline;"&gt;を明らかにします。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;仕組み&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;従来、グラフ走査中の標準 SQL の結合では行が重複し、集計計算が不正確になっていました。BigQuery Graph は、これをネイティブに解決します。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;データモデラーは、プロパティ グラフ DDL 内で直接 &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;MEASURE&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt;（&lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;SUM&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; や &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;AVG&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; など）を定義します。エンジンは &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;GRAPH_EXPAND&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; 関数と &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;AGG&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; アグリゲータを介して標準 SQL を使用して、指標を評価する前に構造グラフのパスを解決します。これにより、エージェントは&lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;計算機（SQL）&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;が必要なときと&lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;地図（グラフ）&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;が必要なときを認識できるほどスマートになります。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;code style="vertical-align: baseline;"&gt;bigquery-public-data&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; のような一般公開プロジェクトは厳密に読み取り専用であるため、読み取り専用の一般公開テーブルをノードおよびエッジとして直接参照しながら、プレースホルダ変数（&lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;YOUR_PROJECT_ID&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt;）を使用して独自のプロジェクト内で論理プロパティ グラフをマッピングする必要があります。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;#x27;-- 1. Map the graph inside YOUR project \r\n\r\n\r\nCREATE OR REPLACE PROPERTY GRAPH `YOUR_PROJECT_ID.YOUR_DATASET.thelook_ecommerce_graph`\r\nNODE TABLES(\r\n  `bigquery-public-data.thelook_ecommerce.users` AS User\r\n    KEY(id)\r\n    LABEL User PROPERTIES(id, city, country),\r\n  `bigquery-public-data.thelook_ecommerce.orders` AS Order\r\n    KEY(order_id)\r\n    LABEL Order PROPERTIES(\r\n      order_id, \r\n      MEASURE(AVG(num_of_item)) AS avg_items_per_order,\r\n      MEASURE(SUM(num_of_item)) AS total_items\r\n    )\r\n)\r\nEDGE TABLES(\r\n  `bigquery-public-data.thelook_ecommerce.orders` AS OrderedBy\r\n    SOURCE KEY(order_id) REFERENCES Order(order_id)\r\n    DESTINATION KEY(user_id) REFERENCES User(id)\r\n    LABEL ORDERED_BY\r\n);\r\n\r\n-- 2. Query your new graph with standard SQL—using standard {Label}_{Property} column outputs\r\nSELECT\r\n  User_city AS city,\r\n  ROUND(AGG(Order_avg_items_per_order), 2) AS agg_avg_items,\r\n  ROUND(AGG(Order_total_items), 2) AS agg_total_items\r\nFROM GRAPH_EXPAND(&amp;quot;YOUR_PROJECT_ID.YOUR_DATASET.thelook_ecommerce_graph&amp;quot;)\r\nGROUP BY User_city\r\nORDER BY agg_total_items DESC\r\nLIMIT 10;&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7fdf93288f90&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;BigQuery Studio でグラフ インテリジェンスを民主化&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;デベロッパーとビジネス ユーザーの双方が、これらの関係ネットワークをスムーズに管理、デプロイできるように、直感的なネイティブ運用ツールを BigQuery Studio に直接組み込みました。&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;視覚的なグラフモデラー:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; BigQuery Studio 内のノーコードのドラッグ＆ドロップ インターフェースで、複雑な DDL スクリプトを手動で記述することなく、プロパティ グラフ、ノード、エッジを視覚的に構築、編集、マッピングできます。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;
&lt;div class="block-image_full_width"&gt;






  
    &lt;div class="article-module h-c-page"&gt;
      &lt;div class="h-c-grid"&gt;
  

    &lt;figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      "
      &gt;

      
      
        
        &lt;img
            src="https://storage.googleapis.com/gweb-cloudblog-publish/original_images/1_CXQhslw.gif"
        
          alt="1"&gt;
        
        &lt;/a&gt;
      
    &lt;/figure&gt;

  
      &lt;/div&gt;
    &lt;/div&gt;
  




&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong style="vertical-align: baseline;"&gt;&lt;strong style="vertical-align: baseline;"&gt;会話型分析（CA）のインテグレーション:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; &lt;/span&gt;&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;&lt;span style="vertical-align: baseline;"&gt;ユーザーはグラフと自然にやり取りできます。会話型分析エージェントは、テーブル結合を推測するのではなく、グラフの決定論的な関係認識マップをナビゲートし、自然言語の質問を、境界が制約された正確な GoogleSQL クエリまたは ISO GQL クエリに変換します。これにより、モデルのハルシネーションを防ぎ、セマンティックな一貫性を確保します。&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;
&lt;div class="block-image_full_width"&gt;






  
    &lt;div class="article-module h-c-page"&gt;
      &lt;div class="h-c-grid"&gt;
  

    &lt;figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      "
      &gt;

      
      
        
        &lt;img
            src="https://storage.googleapis.com/gweb-cloudblog-publish/original_images/2_23oI53E.gif"
        
          alt="2"&gt;
        
        &lt;/a&gt;
      
    &lt;/figure&gt;

  
      &lt;/div&gt;
    &lt;/div&gt;
  




&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;統合されたセマンティクス: Looker とのネイティブなインテグレーション&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;断片化されたロジック スタックの維持を避けるために、ビジネス指標はデータレイヤに存在する必要があります。&lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;Looker（LookML）&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;を、&lt;/span&gt;&lt;a href="https://docs.cloud.google.com/looker/docs/analytic-models"&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt;データベース内分析モデル&lt;/strong&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;としての BigQuery Graphs とネイティブに統合することで、コアでロジックを一度定義するだけで済みます。&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;データベース管理モデル（sql_analytic_model_name）:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;sql_analytic_model_name&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; を使用して、Looker にデータベース定義の BigQuery Graph を直接参照させ、標準の LookML のディメンションとメジャーをグラフ プロパティに直接マッピングします。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;Looker 管理モデル（derived_analytic_model）:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;derived_analytic_model&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; を使用して、LookML ビュー内で BigQuery Graph スキーマを直接定義します。Looker は、SQL DDL ステートメントを動的に生成して実行し、BigQuery 内のグラフを維持します。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;エンタープライズ DevOps ワークフロー:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; &lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;Looker IDE、Git ベースのバージョン管理、継続的インテグレーション（CI）&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;を使用して、グラフのライフサイクル全体を管理します。主要な KPI（離脱率など）は、検証済みで、信頼できる、まったく同じものが維持されます。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong style="font-style: italic; vertical-align: baseline;"&gt;- &lt;/strong&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;Google Cloud、グループ プロダクト マネージャー、&lt;/span&gt;&lt;strong style="font-style: italic; vertical-align: baseline;"&gt;Deepak Dayama&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="font-style: italic; vertical-align: baseline;"&gt;- &lt;/strong&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;ソフトウェア開発マネージャー、&lt;/span&gt;&lt;strong style="font-style: italic; vertical-align: baseline;"&gt;Yun Zhang&lt;/strong&gt;&lt;/p&gt;&lt;/div&gt;</description><pubDate>Tue, 25 Aug 2026 02:00:00 +0000</pubDate><guid>https://cloud.google.com/blog/ja/products/data-analytics/bigquery-graphs-with-measures-for-trusted-agentic-workloads/</guid><category>AI &amp; Machine Learning</category><category>Databases</category><category>Data Analytics</category><og xmlns:og="http://ogp.me/ns#"><type>article</type><title>メジャーがサポートされるようになった BigQuery Graph を使用して、信頼できるエージェント ワークロードを実現</title><description></description><site_name>Google</site_name><url>https://cloud.google.com/blog/ja/products/data-analytics/bigquery-graphs-with-measures-for-trusted-agentic-workloads/</url></og><author xmlns:author="http://www.w3.org/2005/Atom"><name>Deepak Dayama</name><title>Group Product Manager</title><department></department><company></company></author><author xmlns:author="http://www.w3.org/2005/Atom"><name>Yun Zhang</name><title>Software Development Manager</title><department></department><company></company></author></item><item><title>Gemini in Database Migration Service を使用した PostgreSQL への移行の迅速化</title><link>https://cloud.google.com/blog/ja/products/databases/accelerate-postgresql-migrations-with-gemini-in-dms/</link><description>&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;※この投稿は米国時間 2026 年 8 月 12 日に、Google Cloud blog に&lt;/span&gt;&lt;a href="https://cloud.google.com/blog/products/databases/accelerate-postgresql-migrations-with-gemini-in-dms?e=48754805&amp;amp;hl=en"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;投稿&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;されたものの抄訳です。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;次のようなシナリオを考えてみましょう。Oracle や SQL Server などの既存の商用データベースから、オープンソースの PostgreSQL や &lt;/span&gt;&lt;a href="https://cloud.google.com/products/alloydb"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;AlloyDB for PostgreSQL&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; などのフルマネージド サービスにコア アプリケーションを移行するとします。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;最初のフェーズは順調に進みます。スキーマが変換され、テーブルにデータが入力され、データ移行パイプラインが数テラバイトのデータを数時間で転送します。プロジェクトは予定より早く進んでいるようです。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;そのとき、チームはボトルネックに直面します。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;既存のデータベースには、何百ものストアド プロシージャ、複雑なトリガー、そして PL/SQL や T-SQL など独自の SQL 言語で記述されたカスタム関数が埋め込まれています。これらのルーチンには、トランザクションの検証、注文処理、カスタム レポートの処理など、長年にわたる重要なビジネス ロジックが含まれています。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;モダナイゼーション プロジェクトは急に行き詰まります。数千行に及ぶ手続き型ロジックの変換には、2 つの言語に関する専門知識、数か月にわたる手作業での書き換えが必要となり、高確率で変換エラーが伴います。このコード変換は、データベース移行の「ラスト ワンマイル」のボトルネックであり、移行における最も複雑な部分です。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;幸いなことに、このラスト ワンマイル問題は、最近の AI の進歩によって解決できます。&lt;/span&gt;&lt;a href="https://cloud.google.com/database-migration"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Database Migration Service&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;（DMS）には、Gemini を活用した AI によるコード変換が含まれています。移行ワークフローに生成 AI を直接組み込むことで、ストアド プロシージャ、トリガー、カスタム関数を、より高速かつ正確に PostgreSQL PL/pgSQL コードに変換できます。&lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;&lt;strong style="vertical-align: baseline;"&gt;ストアド プロシージャの変換に関する課題&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;商用データベース エンジンでは、ストアド プロシージャ、ユーザー定義関数、パッケージ本体、条件付きロジックに、ベンダー固有の構文が使用されています。このロジックを PostgreSQL PL/pgSQL に変換するには、変数の定義、例外処理ブロック、カーソルループ、組み込み関数のマッピングが必要になります。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;何百ものストアド プロシージャを含む複雑なエンタープライズ スキーマを移行する場合、たいていは手動でのコード変換に数か月のエンジニアリング作業が必要になります。データベース チームは、以前のロジックを 1 行ずつ解析し、条件分岐を実装し直して、エンジン間のデータ型変換を検証する必要があります。&lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;&lt;strong style="vertical-align: baseline;"&gt;DMS での AI によるコード変換&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Gemini in Database Migration Service は、Google Cloud コンソール内で直接、この変換作業を迅速化します。DMS は、スキーマを自動的に変換するとともに、AI 生成のコードを提案して、ソース言語と PostgreSQL の構造上の違いを説明します。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;PL/pgSQL に変換されたコードは、元のソースコードと並べて表示されます。データベース チームは提案内容をリアルタイムで確認、編集、検証できます。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-image_full_width"&gt;






  
    &lt;div class="article-module h-c-page"&gt;
      &lt;div class="h-c-grid"&gt;
  

    &lt;figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      "
      &gt;

      
      
        
        &lt;img
            src="https://storage.googleapis.com/gweb-cloudblog-publish/images/1_-_DMS_Code_Conversion_Console.max-1000x1000.jpg"
        
          alt="1 - DMS_Code_Conversion_Console"&gt;
        
        &lt;/a&gt;
      
        &lt;figcaption class="article-image__caption "&gt;&lt;p data-block-key="0efqc"&gt;図 1: Database Migration Service のインターフェースに、変換前後のコードと Gemini によるインラインの説明が表示されている。&lt;/p&gt;&lt;/figcaption&gt;
      
    &lt;/figure&gt;

  
      &lt;/div&gt;
    &lt;/div&gt;
  




&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;h3&gt;&lt;strong style="vertical-align: baseline;"&gt;AI の統合が重要である理由&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;主要ベンダーのほとんどの AI アプリや AI ツールには、SQL コードなどのコードを生成、変換する機能があります。しかし、汎用の AI チャットツールが提供するスニペットの変換機能では、エンタープライズ データベースの変換には不十分です。Gemini in Database Migration Service には、以下の重要な利点があります。&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;スキーマの完全なコンテキスト:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; Gemini in DMS は、コード スニペットを個別に評価するのではなく、移行プロジェクト全体にわたり、テーブルの関係、データ型、依存ビュー、プロシージャ間参照などのデータベース コンテキストを総合的に分析します。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;エンタープライズ向けのセキュリティとプライバシー:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; コード変換は、厳密に Google Cloud プロジェクトの境界と IAM ガバナンスの範囲内で実行されるため、独自のビジネス ロジックと知的財産を保護できます。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;統合された実行ワークスペース:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; DMS を使用すると、何百ものファイルにわたる手動でのコピーと貼り付けが不要になります。単一のコンソール内で、並べて表示されたコードの違いと AI によるインラインの説明を確認し、必要に応じてコードを編集したうえで、検証済みの PL/pgSQL ルーティンをターゲット データベースに直接デプロイできます。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;決定論的な精度と AI コンパイル&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;: DMS は決定論的なコンパイラ ルールによる 1 対 1 のマッピング（標準的な DDL 変換、スカラー関数、明確に定義された構文変換など）と、複雑な手続き型ブロックのための Gemini の文脈的統合を組み合わせることで、モデルのドリフトを防ぎ、正確で予測可能な変換を保証します。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;&lt;strong style="vertical-align: baseline;"&gt;Oracle PL/SQL から PostgreSQL への変換&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;顧客の合計注文額を算出し、独自の NVL 関数と DECODE 関数を使用して段階別の割引を適用する Oracle PL/SQL ストアド プロシージャを考えてみましょう。当初のワークフローでは、NVL を COALESCE に手動でマッピングし、DECODE ステートメントを標準の CASE 式に書き換え、WHEN NO_DATA_FOUND THEN などの例外ブロックを調整する必要がありました。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;DMS で移行評価を実行すると、Gemini がソース プロシージャを分析し、ネイティブの PostgreSQL PL/pgSQL コードを生成します。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;&lt;strong style="vertical-align: baseline;"&gt;ソース: Oracle PL/SQL&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;#x27;CREATE OR REPLACE PROCEDURE calculate_discount (\r\n  p_customer_id IN NUMBER,\r\n  p_discount OUT NUMBER\r\n) AS\r\n  v_total NUMBER := 0;\r\nBEGIN\r\n  SELECT NVL(SUM(amount), 0) INTO v_total\r\n  FROM orders WHERE customer_id = p_customer_id;\r\n  \r\n  p_discount := DECODE(TRUE, v_total &amp;gt; 10000, 0.15, v_total &amp;gt; 5000, 0.10, 0.05);\r\nEXCEPTION\r\n  WHEN NO_DATA_FOUND THEN\r\n    p_discount := 0;\r\nEND;\r\n/&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7fdf934d2510&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;ターゲット: PostgreSQL PL/pgSQL（Gemini in DMS で変換）&lt;/strong&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;#x27;CREATE OR REPLACE FUNCTION calculate_discount (\r\n  p_customer_id NUMERIC,\r\n  OUT p_discount NUMERIC\r\n) RETURNS NUMERIC AS $$\r\nDECLARE\r\n  v_total NUMERIC := 0;\r\nBEGIN\r\n  SELECT COALESCE(SUM(amount), 0) INTO v_total\r\n  FROM orders WHERE customer_id = p_customer_id;\r\n\r\n  p_discount := CASE\r\n    WHEN v_total &amp;gt; 10000 THEN 0.15\r\n    WHEN v_total &amp;gt; 5000 THEN 0.10\r\n    ELSE 0.05\r\n  END;\r\nEND;\r\n$$ LANGUAGE plpgsql;&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7fdf9328b310&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Gemini は、生成された SQL とともに、NVL が COALESCE に変換された理由と、Oracle の DECODE 関数が PostgreSQL で明示的な CASE ブロックに変換された方法について、詳しい説明をインラインで表示します。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-image_full_width"&gt;






  
    &lt;div class="article-module h-c-page"&gt;
      &lt;div class="h-c-grid"&gt;
  

    &lt;figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      "
      &gt;

      
      
        
        &lt;img
            src="https://storage.googleapis.com/gweb-cloudblog-publish/images/2_-_Migration_Workflow_Diagram.max-1000x1000.jpg"
        
          alt="2 - Migration_Workflow_Diagram"&gt;
        
        &lt;/a&gt;
      
        &lt;figcaption class="article-image__caption "&gt;&lt;p data-block-key="0efqc"&gt;図 2: Gemini in DMS を活用したエンドツーエンドのデータベース コード変換パイプライン。&lt;/p&gt;&lt;/figcaption&gt;
      
    &lt;/figure&gt;

  
      &lt;/div&gt;
    &lt;/div&gt;
  




&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;h3&gt;&lt;strong style="vertical-align: baseline;"&gt;スキーマの完全な管理と検証の維持&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;セキュリティ、透明性、コードの精度は、データベースのモダナイゼーションにおいて依然として中心的な要素です。Gemini in DMS は、厳密に Google Cloud の確立されたセキュリティ境界内で動作し、コードをプロジェクト内に限定して公開します。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;変換と検証のプロセスは、信頼性を保証するため、構造化されたワークフローに沿って行われます。&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;スキーマ コンテキストの自動取得:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; DMS 変換ワークスペースを設定すると、テーブル スキーマ、データ型、外部キー制約、プロシージャ間の依存関係など、ソース データベースの全メタデータが自動的に解析されます。Gemini では、このプロジェクト全体のコンテキストを参照してコードが生成されるため、依存オブジェクトの定義を手動で指定する必要はありません。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;構文と依存関係の自動検証:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; コードの生成時、DMS はターゲットとなる PostgreSQL の構文ルールに照らして検証パーサーを実行します。検証ステータス インジケーター（変換済み、警告、要対応など）が各オブジェクトに割り当てられるため、手動での確認が必要なルーティンはすぐにわかります。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;インタラクティブな評価状態:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; スキーマの変更はすべて完全に管理できます。変換ワークスペース内で、ターゲット データベースに変更を適用する前に、コードを並べて違いを確認したり、AI によるインラインの説明を確認したり、PL/pgSQL コードを直接編集したりできます。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;デプロイと検証のステージング:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; コードがワークスペース検証に合格したら、変換されたスキーマと関数をターゲットのステージング インスタンス（&lt;/span&gt;&lt;a href="https://cloud.google.com/sql"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Cloud SQL&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; や AlloyDB など）に適用し、本番環境への切り替え前に機能の実行とパフォーマンス テストを行うことができます。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;&lt;strong style="vertical-align: baseline;"&gt;データベースのモダナイゼーションの効率化&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Database Migration Service の AI によるコード変換により、データベース チームは以前のデータベース ロジックを数か月ではなく数日で変換できます。データベース管理者とアプリケーション開発者は、貴重な時間を費やしてコードを最初から書き直す代わりに、新しい機能の追加、パフォーマンスのテスト、アプリケーションのモダナイゼーションに注力できます。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Oracle と SQL Server の一般的な変換シナリオと、DMS がそれらを PostgreSQL に変換する方法の代表的な例については、新しい &lt;/span&gt;&lt;a href="https://www.youtube.com/watch?v=MGNPQZiUl6c" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Gemini に習う PostgreSQL&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; 動画シリーズをご覧ください。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-video"&gt;



&lt;div class="article-module article-video "&gt;
  &lt;figure&gt;
    &lt;a class="h-c-video h-c-video--marquee"
      href="https://youtube.com/watch?v=MGNPQZiUl6c"
      data-glue-modal-trigger="uni-modal-MGNPQZiUl6c-"
      data-glue-modal-disabled-on-mobile="true"&gt;

      
        

        &lt;div class="article-video__aspect-image"
          style="background-image: url(https://storage.googleapis.com/gweb-cloudblog-publish/images/maxresdefault_0d5WLco.max-1000x1000.jpg);"&gt;
          &lt;span class="h-u-visually-hidden"&gt;SQL Server コードを PostgreSQL に変換する&lt;/span&gt;
        &lt;/div&gt;
      
      &lt;svg role="img" class="h-c-video__play h-c-icon h-c-icon--color-white"&gt;
        &lt;use xlink:href="#mi-youtube-icon"&gt;&lt;/use&gt;
      &lt;/svg&gt;
    &lt;/a&gt;

    
      &lt;figcaption class="article-video__caption h-c-page"&gt;
        
          &lt;h4 class="h-c-headline h-c-headline--four h-u-font-weight-medium h-u-mt-std"&gt;SQL Server コードを PostgreSQL に変換する&lt;/h4&gt;
        
        
      &lt;/figcaption&gt;
    
  &lt;/figure&gt;
&lt;/div&gt;

&lt;div class="h-c-modal--video"
     data-glue-modal="uni-modal-MGNPQZiUl6c-"
     data-glue-modal-close-label="Close Dialog"&gt;
   &lt;a class="glue-yt-video"
      data-glue-yt-video-autoplay="true"
      data-glue-yt-video-height="99%"
      data-glue-yt-video-vid="MGNPQZiUl6c"
      data-glue-yt-video-width="100%"
      href="https://youtube.com/watch?v=MGNPQZiUl6c"
      ng-cloak&gt;
   &lt;/a&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;データベース移行に関する悩みを解消し、以前のデータベース ロジックをシームレスに変換する方法を Gemini に教えてもらいましょう。&lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;&lt;strong style="vertical-align: baseline;"&gt;Database Migration Service を使ってみる&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;データベースの変換を始めるには、Database Migration Service コンソール（&lt;/span&gt;&lt;a href="https://console.cloud.google.com/dms"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;https://console.cloud.google.com/dms&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;）で移行評価を実行するか、異種間移行ガイド（&lt;/span&gt;&lt;a href="https://cloud.google.com/database-migration"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;https://cloud.google.com/database-migration&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;）をお読みください。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="font-style: italic; vertical-align: baseline;"&gt;- &lt;/strong&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;Google Cloud、戦略的クラウド エンジニア、&lt;/span&gt;&lt;strong style="font-style: italic; vertical-align: baseline;"&gt;Tanya Sharma&lt;/strong&gt;&lt;/p&gt;&lt;/div&gt;</description><pubDate>Fri, 21 Aug 2026 02:00:00 +0000</pubDate><guid>https://cloud.google.com/blog/ja/products/databases/accelerate-postgresql-migrations-with-gemini-in-dms/</guid><category>Databases</category><media:content height="540" url="https://storage.googleapis.com/gweb-cloudblog-publish/images/Hero_Image_KjCoerO.max-600x600.jpg" width="540"></media:content><og xmlns:og="http://ogp.me/ns#"><type>article</type><title>Gemini in Database Migration Service を使用した PostgreSQL への移行の迅速化</title><description></description><image>https://storage.googleapis.com/gweb-cloudblog-publish/images/Hero_Image_KjCoerO.max-600x600.jpg</image><site_name>Google</site_name><url>https://cloud.google.com/blog/ja/products/databases/accelerate-postgresql-migrations-with-gemini-in-dms/</url></og><author xmlns:author="http://www.w3.org/2005/Atom"><name>Tanya Sharma</name><title>Strategic Cloud Engineer, Google Cloud</title><department></department><company></company></author></item><item><title>複数の結果セット: Database Migration Service における SQL Server から PostgreSQL への変換の自動化</title><link>https://cloud.google.com/blog/ja/products/databases/automating-postgres-translations-with-database-migration-service/</link><description>&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;※この投稿は米国時間 2026 年 8 月 5 日に、Google Cloud blog に&lt;/span&gt;&lt;a href="https://cloud.google.com/blog/products/databases/automating-postgres-translations-with-database-migration-service?e=48754805&amp;amp;hl=en"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;投稿&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;されたものの抄訳です。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Medium のブログ投稿&lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;「&lt;/strong&gt;&lt;a href="https://medium.com/google-cloud/from-mars-to-setof-refcursor-migrating-multi-result-stored-procedures-to-postgresql-bc46446b0d9d" rel="noopener" target="_blank"&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt;From MARS to SETOF REFCURSOR: Migrating Multi-Result Stored Procedures to PostgreSQL&lt;/strong&gt;&lt;/a&gt;&lt;strong style="vertical-align: baseline;"&gt;」&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;（MARS から SETOF REFCURSOR へ: 複数の結果を返すストアド プロシージャを PostgreSQL に移行する）で、複数の結果セットに関する SQL Server と PostgreSQL の基本的なアーキテクチャの違いについて説明しました。SQL Server では 1 回の実行で複数の表形式ストリームをネイティブにストリーミングする一方、PostgreSQL では、明示的なカーソル操作を使用する、より慎重な戦略が必要であるという内容でした。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;このようなプロシージャが数百もある大規模なデータベース移行に対応しなければならない場合、手動での書き換えは現実的ではありません。こうした状況で役立つのが自動ツールです。この投稿では、この課題に対する &lt;/span&gt;&lt;a href="https://cloud.google.com/database-migration?e=48754805&amp;amp;hl=ja"&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt;Google Cloud の Database Migration Service&lt;/strong&gt;&lt;/a&gt;&lt;strong style="vertical-align: baseline;"&gt;（DMS）&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;のアプローチ、その内部で適用される変換ロジック、生成されたコードを実際に実行してテストする方法について詳しく説明します。&lt;/span&gt;&lt;/p&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;DMS の中核的な変換戦略&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;データベースを PostgreSQL に移行する要因は数多くあります。たとえば、エンタープライズ規模のパフォーマンスと可用性、拡大し続けるデベロッパーとユーザーのコミュニティ、強力な AI 機能などです。しかし、複数の結果セットを含むクエリなどの複雑なクエリの場合、移行プロジェクトの遅延を招く可能性があります。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;DMS が確認するのは、&lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;プロシージャが返す結果セットの数&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;と、&lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;スカラー戻り値（RETURN）を使用するかどうか&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;の 2 点です。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;変換に関する意思決定マトリックスは次のようなものです。&lt;/span&gt;&lt;/p&gt;
&lt;div align="left"&gt;
&lt;div style="color: #5f6368; overflow-x: auto; overflow-y: hidden; width: 100%;"&gt;
&lt;div style="color: #5f6368; overflow-x: auto; overflow-y: hidden; width: 100%;"&gt;&lt;table&gt;&lt;colgroup&gt;&lt;col/&gt;&lt;col/&gt;&lt;col/&gt;&lt;col/&gt;&lt;/colgroup&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;シナリオ&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;SQL Server の特性&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;PostgreSQL ターゲット オブジェクト&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;メカニズム&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;シナリオ A&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;結果セット 1 つ、またはスカラー戻り値 1 つのみ&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;ストアド プロシージャ&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;INOUT refcursor パラメータまたは標準の変数トラッキングを介してネイティブに処理。&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;シナリオ B&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;複数の結果セット、または結果セットとスカラー戻り値の組み合わせ&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;関数&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;RETURNS SETOF refcursor ブロックに変換。スカラー戻り値は、独自の個別カーソル データセットとして追加される。&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;複数の結果セットの変換を自動化: DMS 内部の動作&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;SQL Server は、明示的な宣言なしで単一の接続実行パスを介して複数の結果を送信できるようにする、表形式データ ストリーム プロトコルを利用します。一方、PostgreSQL は、カーソルを介して複数のデータセットが決定的に管理される、別個の実行プロトコルに依存しています。この構造上の違いを補うため、DMS は変換ロジックを自動化します。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;医療報告のベースライン シナリオを例に考えてみましょう。マスター プロシージャ（sp_GetPatientSummary）は、検査結果用（sp_GetPatientLabResults）と診察用（sp_GetPatientDoctorVisits）の 2 つの子プロシージャを条件付きで呼び出すことで、患者のデータ取得をオーケストレートします。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;条件付きロジックと手続き型実行パスに応じて、1 回の実行で最大 &lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;4 つの異なる結果セット&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;と、患者が見つかったかどうかを示すステータス整数を返すことができます。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;&lt;span style="vertical-align: baseline;"&gt;SQL&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;#x27;CREATE OR ALTER PROCEDURE sp_GetPatientSummary\r\n    @PatientID INT\r\nAS\r\nBEGIN\r\n    SET NOCOUNT ON;\r\n    DECLARE @LabReturnValue INT;\r\n\r\n    IF NOT EXISTS (SELECT 1 FROM Patient WHERE PatientID = @PatientID) \r\n        RETURN 0; \r\n\r\n    SELECT PatientID, FirstName, LastName, DateOfBirth FROM Patient WHERE PatientID = @PatientID;\r\n\r\n    EXEC @LabReturnValue = sp_GetPatientLabResults @PatientID = @PatientID, @QueryType = 1;\r\n\r\n-- Conditional: If child returned 1, call it again for Result Set #3\r\n    IF @LabReturnValue = 1\r\n      EXEC sp_GetPatientLabResults @PatientID = @PatientID, @QueryType = 2;\r\n\r\n    EXEC sp_GetPatientDoctorVisits @PatientID = @PatientID;\r\n    \r\n    RETURN 1; -- Success scalar status\r\nEND;&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7fdf9352f8d0&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;ターゲット: PostgreSQL の決定的カーソル&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;PostgreSQL の実行モデルに合わせるため、DMS は &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;SETOF refcursor&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; と明示的なカーソル管理を使用して、元の T-SQL の動作を構造的な PL/pgSQL アーキテクチャにマッピングします。&lt;/span&gt;&lt;/p&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;1. シンプルなトラッキング: ストアド プロシージャの変換&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;1 つの結果セットのみを生成する子プロシージャ sp_getpatientdoctorvisits について、DMS は標準の PostgreSQL PROCEDURE を作成します。その際、明示的な INOUT refcursor パラメータを使用して、ポインタを呼び出し元に安全に返します。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;SQL&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;quot;CREATE PROCEDURE dbo.sp_getpatientdoctorvisits(\r\n    _patientid INTEGER, \r\n    INOUT result_set_refcursor refcursor\r\n)\r\nLANGUAGE plpgsql\r\nAS $$\r\nBEGIN\r\n    sp_getpatientdoctorvisits.result_set_refcursor := NULL;\r\n    OPEN result_set_refcursor FOR \r\n        SELECT visitid, patientid, doctorname, visitdate, visitnotes\r\n        FROM dbo.doctorvisits\r\n        WHERE doctorvisits.patientid = sp_getpatientdoctorvisits._patientid\r\n          AND doctorvisits.visitdate &amp;gt;= localtimestamp + interval &amp;#x27;-6 MON&amp;#x27;;\r\nEND;\r\n$$;&amp;quot;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7fdf92637610&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;2. マルチセット トラッキング: 関数への変換&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;マスター ルーティンと複雑な検査の子ルーティンについては、INOUT パラメータだけではさまざまな出力配列を取り込めません。DMS は、SETOF refcursor を返す &lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;PL/pgSQL 関数&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;にこれらを変換します。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;変換された sp_getpatientlabresults がカーソルを順番に構築し、最後に「return_value」と明示的に命名された個別のカーソルを動的に開いて、スカラー整数を実行スタックに返す方法に注目してください。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;SQL&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;quot;CREATE OR REPLACE FUNCTION dbo.sp_getpatientlabresults(_patientid INTEGER, _querytype INTEGER)\r\nRETURNS SETOF refcursor\r\nLANGUAGE plpgsql\r\nAS $$\r\nDECLARE   rc refcursor;   _recordsfound INTEGER := 0;\r\nBEGIN\r\n  IF _querytype IN (1, 3) THEN\r\n    OPEN rc FOR \r\n      SELECT resultid, patientid, testname, testdate, isexception\r\n      FROM dbo.labresults\r\n      WHERE patientid = _patientid \r\n        AND testdate &amp;gt;= localtimestamp - interval &amp;#x27;6 months&amp;#x27;;\r\n    RETURN NEXT rc;\r\n\r\n    IF EXISTS (\r\n      SELECT 1 FROM dbo.labresults \r\n      WHERE patientid = _patientid \r\n        AND testdate &amp;gt;= localtimestamp - interval &amp;#x27;6 months&amp;#x27;\r\n    ) THEN recordsfound := 1; \r\n    END IF;\r\n  END IF;\r\n\r\n  IF _querytype IN (2, 3) THEN \r\n    rc := NULL; -- Reset to generate a new unique cursor name\r\n    OPEN rc FOR \r\n      SELECT resultid, patientid, testname, testdate, isexception\r\n      FROM dbo.labresults\r\n      WHERE patientid = _patientid \r\n        AND isexception = TRUE \r\n        AND testdate &amp;gt;= localtimestamp - interval &amp;#x27;2 years&amp;#x27;;\r\n    RETURN NEXT rc;\r\n\r\n    IF EXISTS (\r\n      SELECT 1 FROM dbo.labresults \r\n      WHERE patientid = _patientid \r\n        AND isexception = TRUE \r\n        AND testdate &amp;gt;= localtimestamp - interval &amp;#x27;2 years&amp;#x27;\r\n    ) THEN \r\n      _recordsfound := 1; \r\n    END IF;\r\n  END IF;\r\n\r\n  rc := &amp;#x27;return_value&amp;#x27;;\r\n  OPEN rc FOR SELECT _recordsfound AS return_value;\r\n  RETURN NEXT rc;\r\nEND;\r\n$$;&amp;quot;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7fdf92637a10&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;プログラムによる出力の解析&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;移行したルーティンを再びアプリケーションのデータアクセス レイヤに統合する際、QA エンジニアとアプリケーション エンジニアは、実行結果の処理方法を調整する必要があります。呼び出し元のアプリケーションまたはテストハーネスは、標準的な表形式の行を順番に読み取るのではなく、カーソル参照の配列を受け取ります。これをプログラムで処理するには、返された各ポータルからデータを順番に取得する必要があります。DMS は、実行スタックの最後で、明示的に命名された専用の「return_value」カーソル データセット内にスカラー戻り値を配置することで、このスカラー戻り値を分離します。この構造マッピングに対応できるよう開発チームの体制を整えることで、アプリケーション ロジックと検証スクリプトが、多層のレスポンス配列を中断なく正確に解析できるようになります。&lt;/span&gt;&lt;/p&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;移行したコードの実行とテスト&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;PostgreSQL で移行されたオブジェクトをテストする場合、明示的なトランザクション ブロック内で作業する必要があります。PostgreSQL カーソルはトランザクションのライフサイクルにバインドされているため、メモリポータルからデータにアクセスするには、実行コマンドとデータ取得コマンドを 1 つの &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;BEGIN ... COMMIT&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; ブロック内にカプセル化する必要があります。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;PostgreSQL 内で患者 3 の複雑なデータセット全体を実行して取得する方法は次のとおりです。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;SQL&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-code"&gt;&lt;dl&gt;
    &lt;dt&gt;code_block&lt;/dt&gt;
    &lt;dd&gt;&amp;lt;ListValue: [StructValue([(&amp;#x27;code&amp;#x27;, &amp;#x27;BEGIN;\r\n\r\n-- 1. Exec the function to initialize and stream back the cursors\r\nSELECT * FROM dbo.sp_getpatientsummary(3) AS summary_cursors; \r\n\r\n-- 2. Fetch data from the sequentially generated anonymous portals\r\nFETCH ALL FROM &amp;quot;&amp;lt;unnamed portal 1&amp;gt;&amp;quot;; -- Patient Demographics\r\nFETCH ALL FROM &amp;quot;&amp;lt;unnamed portal 2&amp;gt;&amp;quot;; -- Lab Results (Query Type 1)\r\nFETCH ALL FROM &amp;quot;&amp;lt;unnamed portal 3&amp;gt;&amp;quot;; -- Lab Results (Query Type 2)\r\nFETCH ALL FROM &amp;quot;&amp;lt;unnamed portal 4&amp;gt;&amp;quot;; -- Doctor Visits\r\n\r\n-- 3. Fetch the named scalar return value tracking cursor\r\nFETCH ALL FROM &amp;quot;return_value&amp;quot;;\r\n\r\nCOMMIT;&amp;#x27;), (&amp;#x27;language&amp;#x27;, &amp;#x27;&amp;#x27;), (&amp;#x27;caption&amp;#x27;, &amp;lt;wagtail.rich_text.RichText object at 0x7fdf91f35290&amp;gt;)])]&amp;gt;&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;DMS の技術詳解: 結果セットのカウントの仕組み&lt;/strong&gt;&lt;/h4&gt;&lt;/div&gt;
&lt;div class="block-image_full_width"&gt;






  
    &lt;div class="article-module h-c-page"&gt;
      &lt;div class="h-c-grid"&gt;
  

    &lt;figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      "
      &gt;

      
      
        
        &lt;img
            src="https://storage.googleapis.com/gweb-cloudblog-publish/images/2_mgkHjQS.max-1000x1000.jpg"
        
          alt="2"&gt;
        
        &lt;/a&gt;
      
    &lt;/figure&gt;

  
      &lt;/div&gt;
    &lt;/div&gt;
  




&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;DMS プロダクトは、予想される結果セットの数と戻り値の存在の可能性を把握するための高度な前処理メカニズムを採用しています。最終的な目標は、すべての SQL Server プロシージャを 3 種類のカテゴリのいずれか（結果セットなし、結果セット 1 つ、複数の動的な結果セット数）にマッピングすることです。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;これを正確に実行するために、DMS は詳細な構造分析を行います。&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;直接結果セット:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; まず、エンジンがプロシージャのボディ部分をスキャンして、直接結果セットをカウントします。直接結果セットとは、プロシージャ内で直接実行される明示的な SELECT ステートメントです。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;動的考慮:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; ループまたは条件付きの &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;SELECT&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; / &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;EXEC&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; ステートメントを扱う場合は、特別な考慮が必要です。これらの構成要素は本質的に、返される結果セットの数が実行ごとに異なる可能性があることを意味するため、そのプロシージャの数は即座に「動的」としてマークされます。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;呼び出しネットワークの構築:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; 他のストアド プロシージャへの参照を検出した時点のエンジンは、それらの子プロシージャが公開する結果セットの数をまだ把握していません。これを解決するために、DMS は包括的な有向グラフを構築して、プロシージャ間の呼び出し階層全体をモデル化します。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;DFS の伝播:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; この有向ネットワークが完全に構築されて初めて、エンジンは深さ優先探索（DFS）アルゴリズムを実行できます。この DFS トラバーサルでは、固定整数または動的フラグのいずれであっても、結果セットの数が呼び出しチェーンをさかのぼって最上位のプロシージャに体系的に伝播されます。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;結果的に、生成されたコードは、外部データセットを返すように、またネストされた実行スタック内で子ルーティンを正しく呼び出すことができるように、正確に変更されます。このグラフベースのアプローチにより精度が保証され、直接再帰と間接再帰の両方を含む、非常に複雑なプロシージャ間のやり取りがシームレスにサポートされます。&lt;/span&gt;&lt;/p&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;まとめ&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Google Cloud の Database Migration Service は、結果セットの数に基づいて FUNCTION と PROCEDURE のディシジョン ツリーをプログラムで適用することで、構造変換の不確実性を排除します。中核的なビジネスおよび条件付き実行ロジックは完全に保持されますが、アプリケーション接続プールと QA エンジニアが実行結果を処理する方法は変わります。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;この自動化されたアーキテクチャについて理解することで、PostgreSQL での Day 2（2 日目からの）運用がシームレスになるよう、検証スクリプトを効果的にマッピングし、データアクセス レイヤを構成できます。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;以上で、複数の結果セットを変換する方法を習得できました。早速、Google Cloud で PostgreSQL データベースを活用しましょう。ぜひ、皆様のご体験をお聞かせください。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Google Cloud の $300 分の無料クレジットで Database Migration Service をご利用いただけます。&lt;/span&gt;&lt;a href="https://cloud.google.com/database-migration"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;無料で構築を始める&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="font-style: italic; vertical-align: baseline;"&gt;- &lt;/strong&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;SQL Server ブラックベルト、&lt;/span&gt;&lt;strong style="font-style: italic; vertical-align: baseline;"&gt;Assaf Fraenkel&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="font-style: italic; vertical-align: baseline;"&gt;- &lt;/strong&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;シニア ソフトウェア エンジニア、&lt;/span&gt;&lt;strong style="font-style: italic; vertical-align: baseline;"&gt;Yuval Ben Arie&lt;/strong&gt;&lt;/p&gt;&lt;/div&gt;</description><pubDate>Thu, 20 Aug 2026 02:00:00 +0000</pubDate><guid>https://cloud.google.com/blog/ja/products/databases/automating-postgres-translations-with-database-migration-service/</guid><category>Databases</category><media:content height="540" url="https://storage.googleapis.com/gweb-cloudblog-publish/images/1_YZKIgBS.max-600x600.jpg" width="540"></media:content><og xmlns:og="http://ogp.me/ns#"><type>article</type><title>複数の結果セット: Database Migration Service における SQL Server から PostgreSQL への変換の自動化</title><description></description><image>https://storage.googleapis.com/gweb-cloudblog-publish/images/1_YZKIgBS.max-600x600.jpg</image><site_name>Google</site_name><url>https://cloud.google.com/blog/ja/products/databases/automating-postgres-translations-with-database-migration-service/</url></og><author xmlns:author="http://www.w3.org/2005/Atom"><name>Assaf Fraenkel</name><title>SQL Server Blackbelt</title><department></department><company></company></author><author xmlns:author="http://www.w3.org/2005/Atom"><name>Yuval Ben Arie</name><title>Senior Software Engineer</title><department></department><company></company></author></item><item><title>Spanner Graph で小売商品の検索性能を強化し、データベースのメンテナンス工数半減を達成した Target の取り組み</title><link>https://cloud.google.com/blog/ja/topics/retail/how-target-rebuilt-retail-discovery-with-spanner-graph/</link><description>&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;※この投稿は米国時間 2026 年 8 月 5 日に、Google Cloud blog に&lt;/span&gt;&lt;a href="https://cloud.google.com/blog/topics/retail/how-target-rebuilt-retail-discovery-with-spanner-graph?e=48754805&amp;amp;hl=en"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;投稿&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;されたものの抄訳です。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;現代の小売環境における買い物客は、高度にパーソナライズされた商品発見体験と、自然で本物らしく、心から役に立つと感じられる会話型アシスタンスを期待しています。今日、優れた商品検索には、商品、カテゴリ、顧客の意図の密接な関係やセマンティックな意味を理解することが求められます。キーワードや基本的なブラウジングだけでは不十分です。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Target でこの作業を担当しているのがゲスト プロダクト コンフィデンス プラットフォーム チームです。評価、レビュー、AI を活用したデジタル ショッピング アシスタントなど、信頼を確立し、購入の意思決定を導く機能を構築する責任を担っています。その好例が、2025 年のホリデー シーズンにオンライン ストアと Target アプリにリリースされた &lt;/span&gt;&lt;a href="https://www.target.com/gift-finder" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Gift Finder チャット エージェント&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;です。このエージェントは、親しみやすい会話を通じて、買い物客がぴったりの商品を見つけるのをサポートします。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;このようなリアルタイムのパーソナライズとコンテキスト リッチなセマンティック応答をグローバル規模で提供するには、断片化されたデータ エコシステムを脱却し、統合型のデータ プラットフォームに移行するという重要なアーキテクチャ上の課題があることがわかりました。当社は、高スループットのトランザクション ワークロード、高度に接続されたグラフ関係、ベクトル類似度検索、全文キーワード検索をまとめてサポートできるソリューションを必要としていました。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;この投稿では、これら 4 つのすべてを実現するうえで Spanner が果たした役割について説明します。&lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;&lt;strong style="vertical-align: baseline;"&gt;断片化されたアーキテクチャからの脱却&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;従来の Target のディスカバリー データ エコシステムは、検索と転置インデックス用の Elasticsearch クラスタと、トランザクション データ用の個別の NoSQL データストアの組み合わせで構成されていました。この断片化されたアーキテクチャは機能はするものの、運用上および技術上の大きな課題を抱えていました。&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;コンテキストの分断: &lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;検索、ベクトル、トランザクションの各データベースの完全同期は常に課題でした。情報がサイロ化されていることで、コンテキストの欠落、属性間の関係の断絶、クエリ結果の不整合が発生していました。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;運用上のオーバーヘッドの増大: &lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;独立したクラスタの管理、検索インデックスのチューニング、複雑なカスタム同期と集計ロジックの処理を実行するには、エンジニアリング チームによる集中的な手動介入が必要でした。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;拡張のボトルネック:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; 小売データドメインを拡張するには、新しいデータベース コレクションの追加、複雑な結合の維持、検出システムとコア トランザクション システムにおける弱いトランザクション保証への対処が必要でした。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;サイロ化されたインテリジェンス:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; グラフの関係、ベクトル類似度、キーワード検索インデックスを 1 件のトランザクションでクエリする機能が欠如していました。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;AI を活用した次世代のゲスト エクスペリエンスを構築するには、1 つのプラットフォームに統合する必要がありました。&lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;&lt;strong style="vertical-align: baseline;"&gt;Spanner Graph でエンタープライズ オントロジーを構築&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;スタンドアロンのベクトル データベースやニッチなグラフ データベースなど、複数の専用テクノロジーを評価しました。しかし、単一目的のデータベースを追加すると、運用の複雑さとデータ同期パイプラインのパフォーマンスが悪化するだけでした。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;最終的に選択した方法が、&lt;/span&gt;&lt;a href="https://docs.cloud.google.com/spanner/docs/graph/overview"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Spanner Graph&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; を利用してエンタープライズ オントロジーを構築することでした。これは「グラフのグラフ」パラダイムであり、生成 AI を活用した大規模なショッピング グラフの構築を可能にします。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;データを統合することで、セマンティック データ、グラフ関係、ベクトル エンベディング、運用トランザクションを 1 つの屋根の下に集約します。これにより、トランザクションの状態とセマンティック インテリジェンスの両方について、Spanner が信頼できる唯一の情報源となります。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;当社のハイレベルなアーキテクチャは、以下の 3 つの主要な柱で構成されています。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;1. エンタープライズ拡張&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;このレイヤは、当社のエンタープライズ小売カタログをキャプチャし、複数のバックエンド ソースから関連するメタデータを集約し、エージェントによるデータ拡充に生成 AI を活用して、取り込む商品データの品質と深さを大幅に向上させます。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;2. グラフ、ベクトル、検索の統合ストア&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;Spanner Graph では、複数のデータベース間でデータを移動させるのではなく、エンティティ ノード、関係エッジ、ベクトル エンベディングを同じデータベース エンジンに保存します。Spanner Graph は、リレーショナル テーブルに対するマルチホップ グラフ探索、セマンティック ベクトル類似検索、全文キーワード クエリをネイティブにサポートしています。このマルチモデル シナジーはネイティブであるため、脆弱な外部同期パイプラインを介さずに分散ワークロード全体で厳格な ACID トランザクションを実現し、絶対的な正確性を確保できます。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;3. オーケストレーションと AI レイヤ&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;このレイヤは、会話型ゲスト インターフェースを強化し、Spanner Graph から直接供給される豊富な構造化コンテキストを利用して LLM をグラウンディングします。責任ある AI プロセスを管理し、生成された出力を評価しながら、非常に具体的な商品関係を抽出することで &lt;/span&gt;&lt;a href="https://www.target.com/gift-finder" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Gift Finder&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; などのツールを強化します。&lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;&lt;strong style="vertical-align: baseline;"&gt;ダウンタイムなしでスムーズに段階的に移行&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;当社の検索と見つけやすさのインフラストラクチャは何百万人もの顧客が利用する重要なものであるため、移行にあたってはダウンタイムをゼロにする慎重なアプローチが必要でした。この移行は、4 つの構造化されたフェーズで実行されました。&lt;/span&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li aria-level="1" style="list-style-type: decimal; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;スキーマとオントロジーのマッピング:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; Spanner Graph スキーマ内で、商品、カテゴリ、ブランド、顧客の好みなどの特定の小売エンティティと、それらに対応する関係を定義しました。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: decimal; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;データ統合と並列リプレイ:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; ミューテーション ベースのデータ統合を並列パイプラインで構築しました。これにより、リアルタイムのトランザクションの更新を継続的にリプレイし、スキーマ変換を適用して、エンベディングを生成し、リアルタイムで Spanner Graph に直接書き込むことができました。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: decimal; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;カナリア デプロイ:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; ライブの読み取りトラフィックを新しい Spanner Graph ベースのプラットフォームに徐々に移行し、実際の小売ワークロードでクエリのパフォーマンス、セマンティックの精度、データベースの安定性を検証しました。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: decimal; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;カットオーバーとクリーンアップ:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; パフォーマンスを徹底的に検証した後、すべての検索と見つけやすさのトラフィックを Spanner に完全に移行し、以前の Elasticsearch スタックを廃止することで、Elasticsearch クラスタのメンテナンスの負担を完全に排除しました。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h3&gt;&lt;strong style="vertical-align: baseline;"&gt;ビジネスへの影響&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Spanner Graph 上で直接構築することで、技術面とビジネス面で測定可能な成果を達成できました。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;究極の GraphRAG 基盤:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; 従来の RAG はフラットなベクトル類似度に依存しているため、たとえば特定のおもちゃと互換性のあるアクセサリーや年齢適合性の照合など、商品間の構造化された関連性を見落としがちです。統合された GraphRAG アーキテクチャ内で深いグラフ探索とセマンティック ベクトル検索を組み合わせることで、LLM を高精度のコンテキストでグラウンディングしました。これにはおすすめの関連性を直接改善する効果があり、顧客の満足度とネット プロモーター スコアの向上につながりました。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;SQL と GQL の相互運用性の統合:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; Spanner Graph を使用すると、デベロッパーは標準 SQL と GQL（Graph Query Language）を使用して、1 回のクエリで構造化されたリレーショナル カタログデータと接続されたグラフ関係に対して処理を要求できます。これにより、これらのパラダイムを橋渡しするためのデータの重複、レイテンシ、複雑な ETL パイプラインが不要になります。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;成長の上限がないサーバーレスのスケーラビリティ:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; Spanner は、ブラック フライデーやサイバー マンデーなどの小売イベントのピーク時に、予測不可能な大規模なトラフィックの急増を自動的に処理します。Spanner に組み込まれたオートスケーラーがコンピューティング容量を動的に調整し、期間限定のプロモーション特典期間中に発生した高負荷のバースト トラフィックを、パフォーマンスを犠牲にすることなく処理しました。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;インフラストラクチャのメンテナンス工数の半減: &lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;トランザクション NoSQL データベースと検索インデックス データベースを 1 つのマネージド Google Cloud サービスに統合することで、別々のデータベース クラスタを維持する運用上の負担がなくなりました。開発者がデータベース管理とインフラストラクチャの維持に費やす時間が 50% 削減され、顧客向けの新しい AI 機能をより迅速に構築してデプロイできるようになりました。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Spanner Graph への移行により、当社の生成 AI ロードマップは加速しました。これは、&lt;/span&gt;&lt;a href="https://cloud.google.com/transform/shift-system-of-action-architecting-the-agentic-data-cloud-AI"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;適切なデータ基盤&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;の構築が提供する価値を証明する究極の例となりました。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;AI アプリの強化を目指しているのであれば、まずは、適切なグラフ機能を備えたデータベースを事実上無制限の規模で利用することから始めましょう。Spanner Graph で組織の&lt;/span&gt;&lt;a href="https://cloud.google.com/products/spanner/graph?e=48754805&amp;amp;hl=ja"&gt;&lt;span style="font-style: italic; text-decoration: underline; vertical-align: baseline;"&gt;データをアクションに変える&lt;/span&gt;&lt;/a&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;方法をご確認ください。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="font-style: italic; vertical-align: baseline;"&gt;- &lt;/strong&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;プリンシパル エンジニア&lt;/span&gt;&lt;strong style="font-style: italic; vertical-align: baseline;"&gt; Sayanti Dey&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="font-style: italic; vertical-align: baseline;"&gt;- &lt;/strong&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;Target 社 シニア エンジニアリング マネージャー&lt;/span&gt;&lt;strong style="font-style: italic; vertical-align: baseline;"&gt; Kaushik Shelat 氏&lt;/strong&gt;&lt;/p&gt;&lt;/div&gt;</description><pubDate>Thu, 20 Aug 2026 01:10:00 +0000</pubDate><guid>https://cloud.google.com/blog/ja/topics/retail/how-target-rebuilt-retail-discovery-with-spanner-graph/</guid><category>AI &amp; Machine Learning</category><category>Data Analytics</category><category>Databases</category><category>Customers</category><category>Retail</category><og xmlns:og="http://ogp.me/ns#"><type>article</type><title>Spanner Graph で小売商品の検索性能を強化し、データベースのメンテナンス工数半減を達成した Target の取り組み</title><description></description><site_name>Google</site_name><url>https://cloud.google.com/blog/ja/topics/retail/how-target-rebuilt-retail-discovery-with-spanner-graph/</url></og><author xmlns:author="http://www.w3.org/2005/Atom"><name>Sayanti Dey</name><title>Principal Engineer, Target</title><department></department><company></company></author><author xmlns:author="http://www.w3.org/2005/Atom"><name>Kaushik Shelat</name><title>Sr. Engineering Manager, Target</title><department></department><company></company></author></item><item><title>Database Operations Agents のご紹介: 自律型データベース管理の未来</title><link>https://cloud.google.com/blog/ja/products/databases/deep-dive-on-new-ai-powered-database-agents/</link><description>&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;※この投稿は米国時間 2026 年 8 月 5 日に、Google Cloud blog に&lt;/span&gt;&lt;a href="https://cloud.google.com/blog/products/databases/deep-dive-on-new-ai-powered-database-agents?e=48754805&amp;amp;hl=en"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;投稿&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;されたものの抄訳です。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Google はこのたび、Google Cloud Next ‘26 における &lt;/span&gt;&lt;a href="https://cloud.google.com/blog/ja/products/data-analytics/whats-new-in-the-agentic-data-cloud?e=48754805&amp;amp;hl=ja"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Agentic Data Cloud&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; のリリースの一環として、データベース管理を簡素化する 2 つの AI 搭載データベース エージェントを発表しました。具体的には、Day 0 運用（セットアップ、構成、初期デプロイ）のためのデータベース オンボーディング エージェントと、Day 1 および Day 2 運用（モニタリング、トラブルシューティング、継続的なメンテナンスなど）のためのデータベース オブザーバビリティ エージェントです。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;これらの常時稼働のエージェントは Google の長年の経験を反映しており、Chat、CLI、Google Cloud コンソール、Managed Context Protocol（MCP）サーバーなどの Google のさまざまなサービスだけでなく、普段お使いの統合開発環境（IDE）を含むサードパーティ ツールにも統合されています。そのため、必要なときに必要な場所でサポートを受けることができます。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;これまで、データベースの構築や管理には手動でのアーキテクチャ設計、カスタム スクリプト、そしてバラバラのツールを組み合わせる作業がつきものでした。データベースのプロビジョニング、スキーマ設計、インデックス構成、クエリのチューニング、さらにはパフォーマンスのモニタリングまでをチームが担い、アプリケーションの要求の変化に合わせてテストと最適化のサイクルを頻繁に繰り返す必要がありました。この手法でも運用は可能ですが、データベースのライフサイクル全体を通じて、高度な技術力が不可欠なだけでなく、絶えず運用管理にリソースを割かなければなりません。たとえば、将来的なスケーラビリティが損なわれることを懸念して、開発者がアップデートに慎重になりすぎてしまうことは珍しくありません。また、アプリケーションの遅延が発生した際も、原因となる特定のクエリやリソースの制約を突き止めるために、手作業での調査やトラブルシューティングに何時間も費やしてしまうことがよくあります。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;インテリジェントな AI 搭載エージェントは、ワークロードに適したデータベース タイプの推奨から、異常の検出、適切な構成の推奨、クエリの最適化、運用効率を向上させるための実用的な分析情報の提供まで、多くのタスクを自動化することでデータベースのライフサイクル管理を簡素化します。これらの機能を必要なワークフローに直接組み込めば、運用オーバーヘッドを削減しつつ、データベースの構築から最適化までをより効率的に行えるようになります。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;それでは、これらの新しいデータベース エージェントについて詳しく見ていきましょう。&lt;/span&gt;&lt;/p&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;データベース オブザーバビリティ エージェント: 診断から修復まで&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;オブザーバビリティ エージェントは、サイト信頼性エンジニア（SRE）、DevOps プロフェッショナル、データベース管理者、開発者がシンプルな自然言語プロンプトを使用して複雑な問題を診断し、修復できるよう支援します。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;運用規模が拡大するにつれて、クエリのホットスポットやロック競合といった捉えにくい問題の特定は、コストのかかる大きな負担となります。データベース オブザーバビリティ エージェントは、Google の専門知識と Gemini の推論機能を活用して、こうした課題を解決します。データベース インサイト、Cloud Monitoring、Cloud Logging、Cloud Trace などの複数のソースにわたるテレメトリーを自動的に接続することで、数分で明確な根本原因分析を提供できます。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;また、単に「原因」を特定するだけでなく、見つかった問題を解決するための推奨される対応を提案し、ユーザーの承認を得たうえで検証済みのアクションを実行することも可能です。たとえば、ボトルネックが検出された場合、エージェントは「Cloud SQL インスタンスの接続プールを有効にする」といった提案を行い、変更を適用する前にその根拠と予想される影響を提示します。主な機能には、次のようなものがあります。&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;フリートレベルのトラブルシューティング: &lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;オブザーバビリティ エージェントはデータベース センターと統合されているため、Gemini Chat を使用して「過去 7 日間にフリート内で最も CPU を消費したデータベースはどれ？」といったフリート全体に関する複雑な質問を投げかけ、フリート全体を網羅した要約分析を受け取ることができます。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;プロダクト内調査:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; データベース テレメトリー、Cloud Monitoring、Cloud Logging、Cloud Trace など、多岐にわたるデータソースの複雑なテレメトリーを関連付けて、レイテンシの急増やロック競合などの問題をピンポイントで特定します（一部のお客様を対象にプレビュー版を提供中）。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;検証済みの修復:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; 単に問題を特定するだけでなく、的確な推奨事項を提案します。また、ユーザーの承認を得たうえで Cloud SQL インスタンスのインデックスの追加といった検証済みのアクションを実行することもできます（一部のお客様を対象にプレビュー版を提供中）。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;MCP ツール:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; オブザーバビリティ エージェントは、システム指標、クエリ指標、フリート インベントリ、検出された問題などのデータを活用して分析情報を導き出します。これらは、データベース インサイト MCP サーバーとデータベース センター MCP サーバーを介して MCP ツールとしても利用できます。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;ワークフローに合わせて統合可能&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;こうしたデータベース オブザーバビリティ エージェントの機能を、既存のデータベース管理プロセスに直接組み込んで利用することができます。このエージェントは、以下のような機能を提供します。&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;Cloud Assist チャット:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; 「上位の Cloud SQL インスタンスの CPU 使用率の傾向は？」といった質問を自然言語で投げかけるだけで、グラフ付きの要約分析が提示されます。その後、チャット ウィンドウ内でそのまま問題の&lt;/span&gt;&lt;a href="https://docs.cloud.google.com/cloud-assist/investigations"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;調査&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;を開始し、根本原因の分析や修復策の確認ができます。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;
&lt;div class="block-image_full_width"&gt;






  
    &lt;div class="article-module h-c-page"&gt;
      &lt;div class="h-c-grid"&gt;
  

    &lt;figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      "
      &gt;

      
      
        
        &lt;img
            src="https://storage.googleapis.com/gweb-cloudblog-publish/original_images/1_Je5hDe1.gif"
        
          alt="1"&gt;
        
        &lt;/a&gt;
      
    &lt;/figure&gt;

  
      &lt;/div&gt;
    &lt;/div&gt;
  




&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong style="vertical-align: baseline;"&gt;プロダクト内での調査:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; コンソールの関連するデータベース ページで &lt;/span&gt;&lt;a href="https://cloud.google.com/products/gemini/cloud-assist"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Gemini Cloud Assist&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; を使用して、コンテキストに沿って問題を調査し、修正できます。&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;
&lt;div class="block-image_full_width"&gt;






  
    &lt;div class="article-module h-c-page"&gt;
      &lt;div class="h-c-grid"&gt;
  

    &lt;figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      "
      &gt;

      
      
        
        &lt;img
            src="https://storage.googleapis.com/gweb-cloudblog-publish/original_images/2_KRTvlaa.gif"
        
          alt="2"&gt;
        
        &lt;/a&gt;
      
    &lt;/figure&gt;

  
      &lt;/div&gt;
    &lt;/div&gt;
  




&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong style="vertical-align: baseline;"&gt;デベロッパー ツール:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; Antigravity または任意の IDE を通してエージェントの機能を利用できます。Google が提供する豊富なオブザーバビリティ MCP ツールによって、その機能はさらに強化されています。これらのツールはすべて、&lt;/span&gt;&lt;a href="https://docs.cloud.google.com/mcp/overview#google-gcp-mcp-servers"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Google リモート MCP サーバー&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;で利用可能です。これらを組み合わせることで、開発者は仮想のデータベース管理者に頼りながら、すべての最適化作業を IDE 内で完結できるようになります。&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;複数のマネージド データベースに対応&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;オブザーバビリティ エージェントは、データベース クエリに対する回答を得る、データベース指標に瞬時にアクセスする、AI による診断を利用して複雑な問題を解決するといった目的に活用できます。以下のような、幅広い Google Cloud データベースの問題に対応可能です。&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;a href="https://cloud.google.com/sql"&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt;Cloud SQL&lt;/strong&gt;&lt;/a&gt;&lt;strong style="vertical-align: baseline;"&gt;: &lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;すべての Cloud SQL データベース エンジンにおけるデータベース インスタンスの負荷、クエリのパフォーマンス、接続の問題をトラブルシューティングして最適化します。Cloud SQL for PostgreSQL では、エージェントを活用してよくあるデータベースの問題をトラブルシューティングできます。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;
&lt;div class="block-image_full_width"&gt;






  
    &lt;div class="article-module h-c-page"&gt;
      &lt;div class="h-c-grid"&gt;
  

    &lt;figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      "
      &gt;

      
      
        
        &lt;img
            src="https://storage.googleapis.com/gweb-cloudblog-publish/original_images/3_WW6C7Yf.gif"
        
          alt="4"&gt;
        
        &lt;/a&gt;
      
    &lt;/figure&gt;

  
      &lt;/div&gt;
    &lt;/div&gt;
  




&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;他の対応データベースや問題の種類でも同様に、エージェントを活用して問題の特定、根本原因の突き止め、是正措置を行えます。&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;a href="https://cloud.google.com/spanner"&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt;Spanner&lt;/strong&gt;&lt;/a&gt;&lt;strong style="vertical-align: baseline;"&gt;:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; Spanner において最も一般的なトラブルシューティングのシナリオは、読み取りと書き込みのレイテンシの最適化です。ホットスポットからロック競合まで、幅広いシナリオに対応するエージェントを活用して数分でトラブルシューティングできます。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;a href="https://cloud.google.com/products/alloydb"&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt;AlloyDB&lt;/strong&gt;&lt;/a&gt;&lt;strong style="vertical-align: baseline;"&gt;: &lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;データベース インスタンスの負荷、クエリのパフォーマンス、レプリカラグの問題をトラブルシューティングして最適化します。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;a href="https://cloud.google.com/bigtable"&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt;Bigtable&lt;/strong&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;: 読み取りと書き込みのレイテンシを診断して最適化し、明確で実用的な推奨事項を提示します。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;データベース オンボーディング エージェント&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;新しいデータベース オンボーディング エージェントは、データベースの選定プロセスにおける心強いパートナーです。ドキュメントを何時間もかけて読まなくても、アプリケーションの要件を自然言語でエージェントに説明するだけで、IOPS、レイテンシ制限、レプリケーション ラグなどの技術的な指標を踏まえた的確な推奨事項を導き出すことができます。データベース オンボーディング エージェントの機能は、&lt;/span&gt;&lt;a href="https://docs.cloud.google.com/cloud-assist/overview"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Gemini とのチャット&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; インターフェースから直接ご利用いただけます。データベース オンボーディング エージェントを使用すると、以下のメリットがあります。&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;データベース ソリューションの推奨: &lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;ワークロードのパフォーマンス、スケール、データ型、信頼性に関するユーザー要件を分析し、最適な Google Cloud マネージド データベース サービス（Cloud SQL、Spanner、AlloyDB など）を提案します。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;スマートな推奨事項:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; エージェントが要件に基づく根拠（高可用性構成に AlloyDB を推奨するなど）を提示するため、確信を持ってサービスを選択できます。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;構成の効率化:&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; サービスを選択すると、エージェントが設定に必要なコマンドを生成します。生成されたコマンドを実行するだけで、データベース インスタンスをプロビジョニングし、適切な機能を構成してデプロイできます。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;使ってみる&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;データベース オブザーバビリティ エージェントとオンボーディング エージェントの機能は、AlloyDB、Bigtable、Cloud SQL（PostgreSQL、MySQL、SQL Server）、Firestore、Memorystore、Spanner などの幅広いサービスでご利用いただけます。現在は Gemini Cloud Assist 経由で提供されています。&lt;/span&gt;&lt;a href="https://docs.cloud.google.com/alloydb/docs/monitor-troubleshoot-with-ai"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;AlloyDB&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;、&lt;/span&gt;&lt;a href="https://docs.cloud.google.com/sql/docs/postgres/monitor-troubleshoot-with-ai"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Cloud SQL&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;、&lt;/span&gt;&lt;a href="https://docs.cloud.google.com/spanner/docs/monitor-troubleshoot-with-ai"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Spanner&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; の AI を活用したトラブルシューティングと Gemini Chat についてご確認ください。詳しくは、&lt;/span&gt;&lt;a href="https://cloud.google.com/products/gemini/cloud-assist?hl=en&amp;amp;e=48754805"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Gemini Cloud Assist&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; のページをご覧ください。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="font-style: italic; vertical-align: baseline;"&gt;- &lt;/strong&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;グループ プロダクト マネージャー&lt;/span&gt;&lt;strong style="font-style: italic; vertical-align: baseline;"&gt;、Niranjan Shivprasad&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="font-style: italic; vertical-align: baseline;"&gt;- &lt;/strong&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;シニア プロダクト マネージャー&lt;/span&gt;&lt;strong style="font-style: italic; vertical-align: baseline;"&gt;、Nitesh Mehta&lt;/strong&gt;&lt;/p&gt;&lt;/div&gt;</description><pubDate>Thu, 20 Aug 2026 00:00:00 +0000</pubDate><guid>https://cloud.google.com/blog/ja/products/databases/deep-dive-on-new-ai-powered-database-agents/</guid><category>Management Tools</category><category>Databases</category><og xmlns:og="http://ogp.me/ns#"><type>article</type><title>Database Operations Agents のご紹介: 自律型データベース管理の未来</title><description></description><site_name>Google</site_name><url>https://cloud.google.com/blog/ja/products/databases/deep-dive-on-new-ai-powered-database-agents/</url></og><author xmlns:author="http://www.w3.org/2005/Atom"><name>Niranjan Shivprasad</name><title>Group Product Manager</title><department></department><company></company></author><author xmlns:author="http://www.w3.org/2005/Atom"><name>Nitesh Mehta</name><title>Senior Product Manager</title><department></department><company></company></author></item><item><title>パブリック データとプライベート データを統合: Spanner のデータコモンズによるナレッジグラフのスケーリング</title><link>https://cloud.google.com/blog/ja/products/databases/unify-public-and-private-data-with-data-commons-on-spanner-graph/</link><description>&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;※この投稿は米国時間 2026 年 8 月 4 日に、Google Cloud blog に&lt;/span&gt;&lt;a href="https://cloud.google.com/blog/products/databases/unify-public-and-private-data-with-data-commons-on-spanner-graph?e=48754805&amp;amp;hl=en"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;投稿&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;されたものの抄訳です。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;的確な意思決定を行うために、企業は社内データと公開リファレンス データを接続し、実世界の事物とその関係性を可視化するナレッジグラフを作成する必要に迫られることがよくあります。しかし、パブリックとプライベートのデータをつなぐには、従来、非常に複雑なプロセスを要していました。このたび、Spanner Graph での&lt;/span&gt;&lt;a href="https://datacommons.org/" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;データコモンズ&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;の一般提供と、新しいデータコモンズ プラットフォームのプレビュー版のリリースにより、これらの接続を効率化し、独自のナレッジと公開データセットのナレッジグラフを統合できるようになりました。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;包括的なデータコモンズ プロジェクトは、世界中の情報を整理し、世界中の人がアクセスできて使えるようにするという Google の使命を後押ししています。データコモンズは、国連、世界銀行、米国国勢調査局、ユーロスタット、WHO、NOAA など、100 を超える信頼できるデータ提供元の断片化された公開データセットを統合しており、標準化された &lt;/span&gt;&lt;a href="http://schema.org/" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Schema.org&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; 定義で構造化された 4,000 億を超えるデータポイントを網羅しています。データコモンズは、クリーンなデータセットにアクセスして統合するためのデータ探索ツール、MCP ツール、クラウドベースの API を提供します。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;データコモンズは、農業、人口統計、経済、環境、保健など、複数の分野にわたる公開情報を統合します。この標準化されたアプローチにより、強力なユースケースが可能になります。たとえば、国の GDP トレンドの分析、地域的な煙による汚染レベルのマッピング、地方自治体レベルでの健康の公平性の追跡、人口分布の経時的な変化の把握など、これらすべてを、事前処理と正規化が済んだデータを使用して行うことができます。&lt;/span&gt;&lt;/p&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;データコモンズ ナレッジグラフのディメンション&lt;/strong&gt;&lt;/h4&gt;
&lt;div align="left"&gt;
&lt;div style="color: #5f6368; overflow-x: auto; overflow-y: hidden; width: 100%;"&gt;
&lt;div style="color: #5f6368; overflow-x: auto; overflow-y: hidden; width: 100%;"&gt;&lt;table&gt;&lt;colgroup&gt;&lt;col/&gt;&lt;col/&gt;&lt;col/&gt;&lt;/colgroup&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;ディメンション&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;サイズ&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;技術的な説明&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;統計的観測&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;4,000 億以上&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;個々の指標データポイント&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;グラフのエッジ&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;26 億以上&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;関係&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;ナレッジグラフのノード&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;17 億以上&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;標準化されたエンティティ&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;データソース&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;100 以上の提供元&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align: top; border: 1px solid #000000; padding: 16px;"&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;信頼できる機関&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;&lt;span style="vertical-align: super;"&gt;データコモンズは、膨大な公的行政データを、即座に活用可能なクラウドベースのインフラストラクチャを通じてユーザーに提供します。&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;Spanner Graph を活用したモダンなインフラストラクチャ&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;データコモンズを最初に構築した際、Google が目指したのは、当時利用可能だったツールを用いて、膨大かつ多種多様な公開データセットを統合することでした。このプラットフォームは、キャッシュ レイヤとして Bigtable を利用していました。これは、ネイティブのグラフ データベース テクノロジーが利用できなかった当時、大規模なルックアップを処理するための効果的な手法でした。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;現在、Google はアーキテクチャをネイティブのグラフモデルである &lt;/span&gt;&lt;a href="https://cloud.google.com/products/spanner/graph?e=48754805"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Spanner Graph&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; に移行しました。これにより、SQL ライクなインターフェースの利便性とグラフの表現力が Spanner に備わるとともに、Spanner の強みである高可用性、水平スケーリング、マルチリージョンでのトランザクション整合性、そしてネイティブの ISO/IEC 39075 &lt;/span&gt;&lt;a href="https://docs.cloud.google.com/spanner/docs/reference/standard-sql/graph-intro"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Graph Query Language（GQL）サポート&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;が活用可能になりました。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;マルチエンティティ Spanner Graph スキーマを採用することで、エンティティをノードとして、ドメインリンクを動的なグラフエッジとして表現できるようになりました。これにより、事前計算されたキャッシュ構造から脱却し、GQL を用いてデータベース内で直接、複雑な関係性クエリを実行することが可能になりました。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;このアーキテクチャでは、費用のかかるインメモリでの再構築や複数のスナップショットを必要とする、複雑な事前計算インデックスが不要になるため、パイプラインも簡素化されます。Spanner Graph では、データベース全体を更新せずに特定のデータセットを増分更新できます。また、ステイル読み取りにより、データの取り込み中も一貫したデータ スナップショットが維持されます。&lt;/span&gt;&lt;/p&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;Spanner Graph への移行による主なメリット&lt;/strong&gt;&lt;/h4&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;統合ストレージと増分更新&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;: Spanner Graph のマルチエンティティ スキーマを利用することで、複雑なキャッシュを増分データのインポートをサポートするモデルに置き換え、特定のデータセットに絞った更新を実現しています。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;GraphRAG による動的なグラフ トラバーサル&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;: 大陸 → 国 → 州 → 郡 → 市といった階層をその場で辿るような、マルチホップ クエリを実行します。これにより、静的キャッシュへの依存が解消され、データベースが自然言語クエリを構造化されたパスマッチング トラバーサルに直接マッピングする GraphRAG ワークフローが可能になります。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;整合性のあるデータ スナップショット&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;: Spanner の &lt;/span&gt;&lt;a href="https://docs.cloud.google.com/spanner/docs/true-time-external-consistency"&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt;TrueTime&lt;/strong&gt;&lt;/a&gt;&lt;strong style="vertical-align: baseline;"&gt; &lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;と&lt;/span&gt;&lt;a href="https://docs.cloud.google.com/spanner/docs/reads"&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt;ステイル読み取り&lt;/strong&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;を活用することで、バージョン整合性のあるデータ スナップショットを提供し、バッチ取り込みサイクル後も分散ノード全体でデータの一貫性を維持します。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;大規模なオペレーショナル分析&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;: Spanner の&lt;/span&gt;&lt;a href="https://docs.cloud.google.com/spanner/docs/columnar-engine"&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt;カラム型エンジン&lt;/strong&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;は、必要なフィールドのみを読み取ることで、大規模な時系列データセットを効率的にスキャンします。一方、&lt;/span&gt;&lt;a href="https://docs.cloud.google.com/bigquery/docs/spanner-federated-queries#data_boost"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;Spanner の Data Boost&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; テクノロジーを活用した &lt;/span&gt;&lt;a href="https://docs.cloud.google.com/bigquery/docs/spanner-federated-queries"&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt;BigQuery 連携&lt;/strong&gt;&lt;/a&gt;&lt;strong style="vertical-align: baseline;"&gt; &lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;により、隔離された環境で &lt;/span&gt;&lt;a href="https://docs.cloud.google.com/bigquery/docs/reference/standard-sql/federated_query_functions#external_query"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;EXTERNAL_QUERY&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; を介して複雑な集計を実行できるようになり、本番環境のトラフィックを分離するのに役立ちます。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;SDMX 3.0 の相互運用性によるシステムの橋渡し&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;複雑な統計データの活用を容易にするため、データコモンズでは、Statistical Data and Metadata eXchange（SDMX）技術標準のリーン実装を採用しています。SDMX は ISO 仕様として、統計データと記述的な統計メタ情報を記述および交換するための一貫したアプローチを提供します。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;今回のデータコモンズ プラットフォームのアップデートでは、SDMX 技術標準バージョン 3.0 のサポートが追加されました。これにより、多次元データセットにおいて、Tableau、Flourish、Observable などのサードパーティ ツールとの即座の連携が可能になります。これは、API 標準の SDMX-JSON および SDMX-CSV 2.0 形式を使用して、2 つの重要なエンドポイントを介して可能になります。&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;アベイラビリティ API&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;: 生のデータを読み取ることなく、既存のディメンション、変数、日付範囲を特定するための、プログラムによる検出メカニズム。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;データ API&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;: 実際の観測データとメタデータを取得します。名前付きパラメータを使用することで、ディメンションが追加された際にコードが壊れるのを防ぐことができます。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;データコモンズ プラットフォームのプライベート インスタンスの変革&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;データコモンズ プラットフォームの&lt;/span&gt;&lt;a href="https://datacommons.org/build" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;プライベート インスタンス&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;を構築したい組織にとって、この新しいモダンなアーキテクチャは、従来のスケーリング制限を解消し、データスキーマ化を簡素化します。デベロッパーは、Google のデータコモンズ インスタンスを支えるのと同じスケーラブルなテクノロジーを活用して、データコモンズ プラットフォームのプライベート インスタンスをインスタンス化できます。プライベート インスタンスでは、ユーザーは自身のデータを完全に管理し、アクセスを制限することができます。その一方で、自然言語クエリを活用して、独自のプライベート データと Google データコモンズ インスタンス上の公開データをシームレスに組み合わせて表示することも可能です。Google の公開ナレッジグラフと、お客様独自のデータを含むプライベート ナレッジグラフを連携させることで、データの分離を維持し、データの重複を回避しながら、魅力的な新しいユースケースを実現できます。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;たとえば、小売企業は、国の GDP 推移、地域の人口構成の内訳、雇用統計などの公開データと、販売履歴、店舗のパフォーマンス指標、サプライ チェーンのロジスティクスといった自社データを組み合わせることができます。これにより、アナリストはマクロ経済の公開指標と自社の取引データを照らし合わせて、商品の流通を最適化し、未開拓の市場を特定することが可能になります。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-image_full_width"&gt;






  
    &lt;div class="article-module h-c-page"&gt;
      &lt;div class="h-c-grid"&gt;
  

    &lt;figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      "
      &gt;

      
      
        
        &lt;img
            src="https://storage.googleapis.com/gweb-cloudblog-publish/images/1_bmsqbGv.max-1000x1000.png"
        
          alt="1"&gt;
        
        &lt;/a&gt;
      
    &lt;/figure&gt;

  
      &lt;/div&gt;
    &lt;/div&gt;
  




&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;データコモンズ プラットフォームのプライベート インスタンスに保存されている商業情報統計局（DGCIS）の統計データと、Google データコモンズのパブリック インスタンスに保存されている世界銀行の世界開発指標を組み合わせた自然言語クエリの実行例。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-image_full_width"&gt;






  
    &lt;div class="article-module h-c-page"&gt;
      &lt;div class="h-c-grid"&gt;
  

    &lt;figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      "
      &gt;

      
      
        
        &lt;img
            src="https://storage.googleapis.com/gweb-cloudblog-publish/original_images/2_OHrJTCJ.gif"
        
          alt="2"&gt;
        
        &lt;/a&gt;
      
    &lt;/figure&gt;

  
      &lt;/div&gt;
    &lt;/div&gt;
  




&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;ユーザーが、国内の年平均気温の推移についてデータ エージェントに問い合わせを行っている様子。エージェントはデータコモンズから情報を取得し、過去のデータが利用可能であることを説明した上で、予測される気温変化、気候要因、CMIP6 気候モデルシナリオ（SSP）を提供し、生成されたレポートをエクスポートするオプションを提示します。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-image_full_width"&gt;






  
    &lt;div class="article-module h-c-page"&gt;
      &lt;div class="h-c-grid"&gt;
  

    &lt;figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      "
      &gt;

      
      
        
        &lt;img
            src="https://storage.googleapis.com/gweb-cloudblog-publish/original_images/3_zldA0Ku.gif"
        
          alt="3"&gt;
        
        &lt;/a&gt;
      
    &lt;/figure&gt;

  
      &lt;/div&gt;
    &lt;/div&gt;
  




&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;ユーザーがデータ エージェントに対し、ある国の農村部と都市部における男性の就業者人口比率（WPR）を比較するよう指示している場面。エージェントは、データコモンズからデータを取得し、WPR（総人口に対する就業者の割合）を定義して、両グループを分析および比較するために利用可能な人口統計変数の概要を示します。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-image_full_width"&gt;






  
    &lt;div class="article-module h-c-page"&gt;
      &lt;div class="h-c-grid"&gt;
  

    &lt;figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      "
      &gt;

      
      
        
        &lt;img
            src="https://storage.googleapis.com/gweb-cloudblog-publish/original_images/4_RTCAs1A.gif"
        
          alt="4"&gt;
        
        &lt;/a&gt;
      
    &lt;/figure&gt;

  
      &lt;/div&gt;
    &lt;/div&gt;
  




&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;h4&gt;&lt;strong style="vertical-align: baseline;"&gt;早速始めましょう&lt;/strong&gt;&lt;/h4&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;データコモンズを探索する&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;: &lt;/span&gt;&lt;a href="http://datacommons.org/" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;datacommons.org&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; にアクセスして、グローバルな統計知識を検索してみましょう。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;span style="vertical-align: baseline;"&gt;ナレッジグラフ向けの Spanner Graph の&lt;/span&gt;&lt;a href="https://cloud.google.com/products/spanner/graph?hl=ja&amp;amp;e=48754805"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;ユースケース&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;と&lt;/span&gt;&lt;a href="https://docs.cloud.google.com/spanner/docs/graph/set-up?hl=ja"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;設定ガイド&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;をご覧ください。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;データコモンズ プラットフォームをデプロイする&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;: &lt;/span&gt;&lt;strong style="vertical-align: baseline;"&gt;support@datacommons.org&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt; に連絡して、プレビュー アクセスをリクエストし、デベロッパー ツールをご確認ください。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong style="font-style: italic; vertical-align: baseline;"&gt;- &lt;/strong&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;データコモンズ、シニア テクニカル プログラム マネージャー&lt;/span&gt;&lt;strong style="font-style: italic; vertical-align: baseline;"&gt;、Randeep Toor&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style="font-style: italic; vertical-align: baseline;"&gt;- &lt;/strong&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;データベース担当グループ プロダクト マネージャー&lt;/span&gt;&lt;strong style="font-style: italic; vertical-align: baseline;"&gt;、Piyush Mathur&lt;/strong&gt;&lt;/p&gt;&lt;/div&gt;</description><pubDate>Wed, 19 Aug 2026 01:30:00 +0000</pubDate><guid>https://cloud.google.com/blog/ja/products/databases/unify-public-and-private-data-with-data-commons-on-spanner-graph/</guid><category>Data Analytics</category><category>Spanner</category><category>Databases</category><og xmlns:og="http://ogp.me/ns#"><type>article</type><title>パブリック データとプライベート データを統合: Spanner のデータコモンズによるナレッジグラフのスケーリング</title><description></description><site_name>Google</site_name><url>https://cloud.google.com/blog/ja/products/databases/unify-public-and-private-data-with-data-commons-on-spanner-graph/</url></og><author xmlns:author="http://www.w3.org/2005/Atom"><name>Randeep Toor</name><title>Senior Technical Program Manager, Data Commons</title><department></department><company></company></author><author xmlns:author="http://www.w3.org/2005/Atom"><name>Piyush Mathur</name><title>Group Product Manager, Databases</title><department></department><company></company></author></item><item><title>AlloyDB に追加されたグループ認証により、エンタープライズ規模の運用と AI エージェントのセキュリティを強化</title><link>https://cloud.google.com/blog/ja/products/databases/alloydb-adds-group-authentication-to-secure-enterprise-scale-and-ai-agents/</link><description>&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;※この投稿は米国時間 2026 年 7 月 31 日に、Google Cloud blog に&lt;/span&gt;&lt;a href="https://cloud.google.com/blog/products/databases/alloydb-adds-group-authentication-to-secure-enterprise-scale-and-ai-agents?e=0&amp;amp;hl=en"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;投稿&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;されたものの抄訳です。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;データベース セキュリティは従来、開発者が求める緻密なアクセス制御と、数千もの個別データベース パスワードの管理に伴う運用オーバーヘッドとの間の「危ういバランス」に頼ってきました。AI エージェントのアクセス管理、静的認証情報のローテーション、従業員のオンボーディングとオフボーディングの処理、アクセスログの監査など、パスワードは依然として運用上の負担であり、潜在的なセキュリティの脆弱性となっています。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Google Cloud の目標は、データベース アクセスを透過的でセキュア、かつパスワード不要なものにすることです。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Google はその取り組みにおいて重要な一歩を踏み出します。このたび、&lt;/span&gt;&lt;a href="https://docs.cloud.google.com/alloydb/docs/database-users/iam-authentication#group-auth"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;AlloyDB の Identity and Access Management（IAM）グループ認証&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;がプレビュー版で利用可能になりました。この機能により、エンタープライズ ワークロードに ID 主導のアクセス制御がもたらされます。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;Cloud SQL のお客様は、すでにこの認証パターンを導入して大きな成果を上げており、今回のリリースにより、両サービスでセキュリティ体制が統一されることになります。&lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;&lt;strong style="vertical-align: baseline;"&gt;個々のスケールに関する問題&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;長年にわたり、Cloud SQL と AlloyDB は、ネイティブな IAM 認証を使用して、個々の Google Cloud ID をデータベース ユーザーに直接マッピングしてきました。しかし、エンタープライズ規模においては、アクセスを個別に管理すると、複雑さが大幅に増す可能性があります。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;グループベースの管理を行わない場合、数百のインスタンスと数千のユーザーにスケールすると、次のような課題が生じます。&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;オンボーディングのボトルネック&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;: 新しいチームメンバーごとにデータベース ユーザーのプロビジョニングが必要になります。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;オフボーディングのリスク&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;: 分散データベース環境全体で従業員のアクセス権を完全に削除するには、監査が複雑になる可能性があります。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li aria-level="1" style="list-style-type: disc; vertical-align: baseline;"&gt;
&lt;p role="presentation"&gt;&lt;strong style="vertical-align: baseline;"&gt;ポリシーの逸脱&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;: 開発、ステージング、本番環境のシステム間で同一の権限を維持すると、エラーが発生しやすくなります。&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;このような課題に直面すると、アプリケーション全体にサービスを提供するために、単一の強力なユーザー アカウントまたはサービス アカウントを使用したいという誘惑に駆られます。しかし、このような強力なアプリケーション アカウントのアクセスを単純化しすぎると、リスクにさらされ、詳細な監査機能が失われるという代償が伴います。&lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;&lt;strong style="vertical-align: baseline;"&gt;エージェント型 AI の未来を守る&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;規模に関する課題は、もはや人間のユーザーだけにとどまりません。組織がデプロイする AI エージェントの数が増えるにつれて、データベースの ID とアクセス制御の管理はより複雑になります。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;AI エージェントが汎用の共有アカウントや広範なサービス アカウントを使用してデータベースに接続する場合、&lt;/span&gt;&lt;a href="https://en.wikipedia.org/wiki/Confused_deputy_problem" rel="noopener" target="_blank"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;混乱した使節の問題&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;を引き起こすリスクがあります。ユーザーの ID を引き継ぐ代わりに、過剰な権限を持つ認証情報を使用すると、エージェントは、アクションをリクエストしたエンドユーザーが閲覧を許可されている範囲を超えてデータにアクセスしたり、データを変更したりする可能性があります。さらに重要なことに、アクションが汎用サービス アカウントに紐付けられるため、監査ログから個別の責任の所在が失われてしまいます。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;きめ細かい認証は、このリスクを軽減するのに役立ちます。エージェントはエンドユーザーの特定のアイデンティティと認証スコープをデータベース層まで引き渡すことができるため、クエリはユーザーに代わって実行され、データ アクセスはエンドユーザーが許可されているオブジェクトのみに制限されます。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class="block-image_full_width"&gt;






  
    &lt;div class="article-module h-c-page"&gt;
      &lt;div class="h-c-grid"&gt;
  

    &lt;figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      "
      &gt;

      
      
        
        &lt;img
            src="https://storage.googleapis.com/gweb-cloudblog-publish/images/image1_9mv7QXp.max-1000x1000.png"
        
          alt="image1"&gt;
        
        &lt;/a&gt;
      
        &lt;figcaption class="article-image__caption "&gt;&lt;p data-block-key="b77va"&gt;AI エージェントを介してユーザー グループ ID を AlloyDB に渡すことで、データベースはアクセスを承認し、正確な監査証跡を記録できます。&lt;/p&gt;&lt;/figcaption&gt;
      
    &lt;/figure&gt;

  
      &lt;/div&gt;
    &lt;/div&gt;
  




&lt;/div&gt;
&lt;div class="block-paragraph_advanced"&gt;&lt;p&gt;&lt;strong style="vertical-align: baseline;"&gt;IAM グループ認証は、このアーキテクチャを簡素化します。&lt;/strong&gt;&lt;span style="vertical-align: baseline;"&gt;セキュリティ チームは、エージェントとユーザーの組み合わせごとにマイクロ権限を管理する代わりに、最大 200 個の機能的な Google グループ（&lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;financial-agents@company.com&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; や &lt;/span&gt;&lt;code style="vertical-align: baseline;"&gt;regional-analysts@company.com&lt;/code&gt;&lt;span style="vertical-align: baseline;"&gt; など）を定義できます。Google Cloud のマネージド データベース インフラストラクチャは、ユーザーのグループ コンテキストを検証し、データベースまたはテーブルのレベルでデータアクセスが承認されるようにします。また、監査ログには、アクセスされたデータ、変更されたデータ、誰の代理として行われたかが正確に記録されます。&lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;&lt;strong style="vertical-align: baseline;"&gt;デジタル リーダーにとっての実証された価値&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;一元化された ID の原則を採用することで、すでに運用スピードを向上させている企業があります。大手プラットフォーム ポイント プログラムの Bilt は、Google の統合アプローチを使用して、大規模なデータベース環境のセキュリティ強化に役立てています。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;「AlloyDB のグループベースの IAM と、自動化されたグループ管理および Privileged Access Manager（PAM）の権限を組み合わせることで、共有認証情報のリスクを完全に排除しました。データベースとロールのプロビジョニングは、初日から完全にテンプレート化されているため、エンジニアは必要なときに必要なデータにのみ安全にアクセスできます」と、Bilt の CTO である Kosta Krauth 氏は述べています。&lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;&lt;strong style="vertical-align: baseline;"&gt;パスワードレス アクセスのための統合ブループリント&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;今回のリリースにより、Google Cloud は Cloud SQL と AlloyDB の両方にわたるアクセス制御の統合アプローチを提供します。組織は、リレーショナル データベース ポートフォリオ全体に対して、標準化された多層防御アクセス戦略を適用できるようになりました。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;IAM グループ認証を &lt;/span&gt;&lt;a href="https://docs.cloud.google.com/alloydb/docs/vpc-sc/configure-vpc-service-controls"&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt;VPC Service Controls&lt;/strong&gt;&lt;/a&gt;&lt;strong style="vertical-align: baseline;"&gt;、&lt;/strong&gt;&lt;a href="https://docs.cloud.google.com/alloydb/docs/organization-policies-overview"&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt;組織のポリシー&lt;/strong&gt;&lt;/a&gt;&lt;strong style="vertical-align: baseline;"&gt;、&lt;/strong&gt;&lt;a href="https://docs.cloud.google.com/alloydb/docs/tags#grant-permissions"&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt;IAM 条件&lt;/strong&gt;&lt;/a&gt;&lt;strong style="vertical-align: baseline;"&gt;、&lt;/strong&gt;&lt;a href="https://docs.cloud.google.com/alloydb/docs/about-private-service-connect"&gt;&lt;strong style="text-decoration: underline; vertical-align: baseline;"&gt;Private Service Connect&lt;/strong&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt; などの機能と組み合わせることで、セキュリティ チームは、人間のエンジニアによるアクセスか自律型 AI エージェントによるアクセスかを問わず、データベース アクセスが、検証済みの企業 ID とセキュアなネットワーク境界にバインドされるようにすることができます。&lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;&lt;strong style="vertical-align: baseline;"&gt;ゼロトラスト データベースの未来に向けて&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;セキュリティによって、エンジニアリングの速度とコンプライアンスの間に妥協が生じるべきではありません。AlloyDB と、Cloud Identity および Workforce Identity 連携を統合することで、データベース管理の摩擦を解消し、よりセキュアなアーキテクチャの実装を支援します。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="vertical-align: baseline;"&gt;この機能を今すぐお試しになり、&lt;/span&gt;&lt;a href="https://docs.cloud.google.com/alloydb/docs/database-users/iam-authentication#group-auth"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;グループベースのデータベース ロールを設定する方法&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;をご確認ください。セキュリティとコンプライアンスに関するその他の推奨事項とベスト プラクティスについては、&lt;/span&gt;&lt;a href="https://docs.cloud.google.com/alloydb/docs/security-privacy-compliance#identity-and-access"&gt;&lt;span style="text-decoration: underline; vertical-align: baseline;"&gt;ドキュメント&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline;"&gt;をご覧ください。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;- プロダクト マネージャー、Bjoern Rost&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-style: italic; vertical-align: baseline;"&gt;- プロダクト マネージャー、Alok Srivastava&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;</description><pubDate>Thu, 06 Aug 2026 03:00:00 +0000</pubDate><guid>https://cloud.google.com/blog/ja/products/databases/alloydb-adds-group-authentication-to-secure-enterprise-scale-and-ai-agents/</guid><category>Security &amp; Identity</category><category>Databases</category><og xmlns:og="http://ogp.me/ns#"><type>article</type><title>AlloyDB に追加されたグループ認証により、エンタープライズ規模の運用と AI エージェントのセキュリティを強化</title><description></description><site_name>Google</site_name><url>https://cloud.google.com/blog/ja/products/databases/alloydb-adds-group-authentication-to-secure-enterprise-scale-and-ai-agents/</url></og><author xmlns:author="http://www.w3.org/2005/Atom"><name>Bjoern Rost</name><title>Product Manager</title><department></department><company></company></author><author xmlns:author="http://www.w3.org/2005/Atom"><name>Alok Srivastava</name><title>Product Manager</title><department></department><company></company></author></item></channel></rss>