Unified AI Database – Azure Cosmos DBとは?AI/Copilot時代の変更点と確認項目

Azure Cosmos DBの「Unified AI Database」は、AIアプリ向けに単なるベクター検索機能を追加する話ではありません。運用データ、ベクター、検索、エージェント連携、分析連携、グローバル分散をAzure Cosmos DBに集約し、AI時代のアプリ基盤として使いやすくする方向性です。2026年5月9日時点で確認すべき結論は、開発者はパーティションキー、ベクター/全文検索インデックス、RU消費、SDK実装を見直し、管理者は認証、MCP連携、バックアップ、リージョン、コスト監視、Fabric連携を確認することです。

特に注意したいのは、「AI/Copilot対応になったから既存のCosmos DBにそのまま載せればよい」と考えないことです。Azure Cosmos DBはフルマネージドのNoSQLおよびベクターデータベースとして、RAG、AIエージェント、LLMキャッシュ、デジタルコマース、IoTなどを支える方向に整理されていますが、性能とコストは設計次第で大きく変わります。公式情報でも、ドキュメント、ベクター、キー値、グラフ、テーブルなど複数の運用データモデルに対応する一方、ベクター検索やAIエージェント連携は主にNoSQL APIの設計確認が重要です。(Microsoft Learn)

目次

Azure Cosmos DBのAI/Copilot更新で何が変わるのか

今回のポイントは、Azure Cosmos DBを「AIアプリの裏側にある運用データベース」として再評価することです。従来は、アプリの状態管理はNoSQL、類似検索は専用ベクターデータベース、全文検索は検索サービス、分析は別のDWHやレイクハウスというように、複数の基盤をつなぐ構成が一般的でした。

Unified AI Databaseの文脈では、Azure Cosmos DBが次のような役割をまとめて担いやすくなります。

観点これまで起きがちな課題Unified AI Databaseでの見方確認すべきこと
運用データ会話履歴、商品、ユーザー情報を別DBで管理ドキュメントデータとベクターを同じコンテナー設計で扱うNoSQL API、データモデル、パーティションキー
検索キーワード検索と意味検索が分離ベクター検索、全文検索、ハイブリッド検索を組み合わせるベクター/全文検索ポリシー、RRF、TOP句
Copilot/AI支援一般的なコード補完にとどまりやすいCosmos DB向けのベストプラクティスをAI coding assistantに組み込むAgent Kit、レビュー手順、提案内容の検証
AIエージェント連携AIからDB操作する仕組みを個別実装MCP ToolkitやCosmos DB ShellのMCP連携で接続しやすくなるEntra ID、RBAC、ローカルバインド、公開範囲
分析ETLや別パイプラインが必要Fabric MirroringでゼロETLに近い分析連携を検討Synapse Link継続可否、Fabric移行、RU影響
運用スケール、バックアップ、コスト管理が後回しRU、オートスケール、継続的バックアップ、変更フィードを設計に含めるアラート、PITR、復元テスト、監査ログ

Azure Cosmos DBの公式概要では、統合ベクター+ハイブリッド類似検索、階層パーティションキー、変更フィード、継続的バックアップ、オートスケール/サーバーレス、SDK、自動インデックス作成などがAI時代のアプリ開発を支える要素として整理されています。(Microsoft Learn)

影響を受ける利用者と管理者の範囲

影響範囲は、Azure Cosmos DBをすでに使っているチームだけに限られません。AIエージェント、RAG、セマンティック検索、チャット履歴、レコメンド、ナレッジ検索を検討しているチームも対象です。

立場主な影響すぐ確認すべき項目
アプリ開発者データモデル、検索方式、SDK実装、RU消費が変わるパーティションキー、SELECT *の有無、ベクター次元数、クエリのTOP指定
AI/LLM開発者RAGやエージェントメモリをCosmos DB上に設計できる埋め込みモデル、ベクター保存先、全文検索、ハイブリッド検索
クラウド管理者権限、ネットワーク、バックアップ、リージョン設計が重要になるEntra ID、RBAC、Private Endpoint、継続的バックアップ
SRE/運用担当RU、レイテンシ、429、変更フィード遅延の監視が必要Azure Monitor、Normalized RU、アラート、復元手順
情報システム/セキュリティ担当AIからDBにアクセスする経路が増えるMCP公開範囲、監査ログ、最小権限、キー管理
データ分析担当Cosmos DBデータをFabricで分析しやすくなるFabric Mirroring、OneLake、既存Synapse Linkの扱い

重要なのは、AIアプリの開発者だけで完結しない点です。AIエージェントがデータにアクセスできるようになるほど、管理者側では「どのAIが、どのデータに、どの権限で、どの経路からアクセスするか」を明確にする必要があります。

Unified AI Databaseは「ベクターDBへの置き換え」ではない

Azure Cosmos DBのAI対応を、専用ベクターデータベースの代替とだけ考えると判断を誤ります。実務では、次の3層で考えると整理しやすくなります。

運用データ層

Azure Cosmos DBは、低レイテンシでスケールする運用データベースとして、ユーザー、注文、セッション、会話履歴、IoTデータなどを扱います。AIアプリでは、これらのデータが単なる保存先ではなく、回答生成や推論の文脈として使われます。

たとえば、カスタマーサポートAIであれば、ユーザーの契約情報、過去の問い合わせ、現在のチケット、FAQに対応するベクターを同じアプリ基盤で扱う設計が考えられます。

検索・取得層

RAGやAIエージェントでは、正しい情報を取り出せなければ回答品質が落ちます。Azure Cosmos DB for NoSQLでは、ベクター検索、全文検索、ハイブリッド検索を組み合わせることで、意味的に近い情報とキーワードに厳密に一致する情報を同時に扱いやすくなります。

公式ドキュメントでは、ベクター検索でドキュメント内にベクターを保存し、VectorDistanceで検索できること、さらに全文検索スコアとベクター検索をRRFで統合するハイブリッド検索が説明されています。(Microsoft Learn)

開発・運用支援層

GitHub CopilotなどのAI coding assistantとAzure Cosmos DB Agent Kitを組み合わせると、データモデル、パーティションキー、クエリ最適化、SDK実装、インデックス、スループット、監視といった観点をAIがレビューしやすくなります。Agent KitはGitHub Copilot、Claude Code、Gemini CLIなどAgent Skills互換ツールで使えるオープンソースのスキル集として説明されています。(Microsoft Learn)

ただし、これは「AIが自動で正解の設計にしてくれる」という意味ではありません。公式情報でも、Agent Kitはコード提案とベストプラクティスの支援であり、データベース操作を実行するものではないとされています。(Microsoft Learn)

開発者が確認すべき設定と実装ポイント

パーティションキーはAIエージェントの会話単位まで考える

AIエージェントやチャットアプリでは、会話履歴をどう分割するかが重要です。単純に/tenantIdだけをパーティションキーにすると、大規模テナントにアクセスが集中し、ホットパーティションや論理パーティションサイズの問題が起きやすくなります。

実務では、次のような設計を検討します。

ユースケースパーティションキー例狙い
B2Bチャットボット["/tenantId", "/threadId"]テナント単位の管理とスレッド単位の局所性を両立
ECの商品検索["/tenantId", "/catalogId"]テナント別の商品群を分け、検索対象を絞る
社内ナレッジAI["/departmentId", "/documentGroupId"]部門や文書グループ単位でアクセス範囲を制御
個人向けAI履歴["/userId", "/sessionId"]ユーザーごとの履歴取得とセッション管理を両立

Azure Cosmos DBのエージェントメモリ向け情報では、マルチテナントアプリでtenantIdthreadIdの2階層パーティションキーを使う例が示されており、テナント単位のガバナンスとスレッド単位の局所性を両立できると説明されています。(Microsoft Learn)

また、論理パーティションの上限に近づくワークロードでは、階層パーティションキーを使って再設計することが推奨されています。公式の制限情報では、階層パーティションキーにより最大3階層のキーを使えると説明されています。(Microsoft Learn)

ベクター検索は有効化より先にポリシーを決める

ベクター検索では、最初に「どのプロパティにベクターを保存するか」「データ型は何か」「次元数はいくつか」「距離関数は何か」を決める必要があります。後から気軽に変えられる設定ではないため、検証用コンテナーで設計を固めてから本番展開するのが安全です。

設定項目確認内容失敗しやすいポイント
ベクターのパス例:/contentVector/imageVector複数モデルのベクターを同じパスに混在させる
次元数埋め込みモデルの出力次元と一致させるモデル変更後に次元数が合わなくなる
データ型float32float16などストレージ削減だけを見て精度低下を見落とす
距離関数cosine、dot product、euclidean検索評価指標と距離関数が合っていない
インデックス種別flat、quantizedFlat、diskANNデータ件数が少ない状態でDiskANN性能を誤評価する

公式情報では、flatは小規模で正確性を重視する検索、quantizedFlatは圧縮による効率化、diskANNは大規模データで低レイテンシ・高スループット・低RUを狙うインデックスとして説明されています。一方で、quantizedFlatdiskANNは少なくとも1,000件のベクターが必要で、少ない場合はフルスキャンになりRUが高くなる可能性があります。(Microsoft Learn)

ベクター検索クエリでは、TOP Nを必ず指定することも重要です。公式ドキュメントでは、TOP Nを使わないと必要以上の結果を返そうとしてRU消費とレイテンシが増える可能性があると説明されています。(Microsoft Learn)

ハイブリッド検索はRAGの検索品質を上げる選択肢になる

RAGでは、ベクター検索だけでは「意味は近いが、固有名詞や型番が違う」結果が混ざることがあります。一方、全文検索だけでは、言い換えや文脈を拾いにくくなります。

Azure Cosmos DB for NoSQLのハイブリッド検索では、ベクター検索と全文検索のスコアをRRFで統合できます。たとえば、FAQ検索で「請求書の再発行」と検索した場合、キーワードとしての「請求書」や「再発行」を重視しつつ、「インボイスをもう一度発行したい」といった意味的に近い表現も拾いやすくなります。(Microsoft Learn)

ただし、ハイブリッド検索では、ベクターポリシー、全文検索ポリシー、ベクターインデックス、全文検索インデックスをあらかじめ設計する必要があります。公式情報では、ベクターポリシーとベクターインデックスは作成後に直接変更できず、変更するには新しいコレクションを作る必要があるとされています。(Microsoft Learn)

クエリとSDK実装はRU消費を前提にレビューする

Azure Cosmos DBでは、処理コストをRUで考える必要があります。RU消費は、アイテムサイズ、インデックス対象プロパティ数、整合性レベル、読み取り種別、クエリの複雑さ、結果件数、射影などの影響を受けます。(Microsoft Learn)

開発者が特に見直すべき実装は次のとおりです。

確認項目悪い例改善例
クエリSELECT *で全プロパティを取得必要な項目だけを射影する
パラメーター文字列結合でSQLを組み立てるパラメーター化クエリを使う
SDKクライアントリクエストごとにCosmosClientを生成アプリ全体で再利用する
429対応レート制限を例外として放置リトライ、バックオフ、ログを実装
RU監視本番後に初めて確認検証段階からrequestChargeを記録
検索パーティションキーなしで横断検索パーティションキー、GSI、検索用コンテナーを検討

Agent Kitの例でも、毎回CosmosClientを生成する、SELECT *を使う、文字列連結でクエリを組み立てる、429エラー処理がないといった実装上の問題がレビュー対象として挙げられています。(Microsoft Learn)

管理者が確認すべきセキュリティと運用設定

MCP連携は「便利さ」より先に公開範囲を確認する

Azure Cosmos DB ShellのMCP設定により、AIアシスタントやアプリケーションがCosmos DBリソースとプログラム的に連携できます。公式情報では、VS Code設定でMCPを有効化し、既定ポートとして6128を使い、bindToLocalhostを有効にする設定例が示されています。(Microsoft Learn)

管理者が必ず確認すべき設定は次のとおりです。

項目推奨される確認
認証本番はEntra IDまたはマネージドIDを基本にする
権限RBACで最小権限を付与する
ネットワークMCPサーバーを不用意に外部公開しない
ローカル設定cosmosDB.shell.MCP.bindToLocalhostを有効にする
監査MCPサーバーログとCosmos DB操作ログを確認する
キー利用アカウントキーは開発用途に限定し、本番では避ける

公式のMCP設定ページでも、ローカルバインド、ネットワーク分離、Entra ID認証、最小権限、アカウントキーの定期ローテーション、監査ログ確認がセキュリティ上のベストプラクティスとして整理されています。(Microsoft Learn)

なお、Azure Cosmos DB Shell自体は公式ページでプライベートプレビューと説明されています。組織標準ツールとして採用する場合は、プレビュー機能の利用可否、サポート範囲、変更リスクを確認してから展開してください。(Microsoft Learn)

MCP Toolkitを本番で使う場合はEntra IDとContainer Appsの設計が必要

Azure Cosmos DB MCP Toolkitは、AIエージェントやエージェント型アプリケーションがMCPを通じてAzure Cosmos DBと安全にやり取りするためのオープンソースソリューションです。公式情報では、Entra ID認証、マネージドID、RBAC、HTTPS、Container Appsホスティング、Foundry連携が説明されています。(Microsoft Learn)

本番展開では、次の観点を設計に含めてください。

確認項目理由
Cosmos DBと同一リージョンへの配置レイテンシとコストを抑えやすい
Private Endpointの利用公開エンドポイント経由のリスクを下げる
Container Appsのメトリック監視MCPサーバー側の負荷や障害を検知する
RU消費の監視AIエージェントの自動クエリがコスト増につながる可能性がある
読み取り専用運用の確認AIからの更新操作を許すかどうかを明確にする
Foundry連携時のロール割り当てプロジェクトIDやユーザーIDの権限を最小化する

MCP Toolkitの公式情報では、MCP ToolkitがAIリクエストをCosmos DB操作に変換し、Entra IDで認証・認可する構成が説明されています。また、ベストプラクティスとして、データの近くに配置する、RU消費を監視する、本番ではPrivate Endpointを使う、ツールを最新に保つことが挙げられています。(Microsoft Learn)

バックアップと変更フィードはAI展開前に見直す

AIアプリでは、ベクター、会話履歴、エージェントの行動ログ、検索対象ドキュメントが増えるため、誤削除や誤更新の影響が大きくなります。管理者は、継続的バックアップとポイントインタイムリストアを展開前に確認するべきです。

Azure Cosmos DBの継続的バックアップでは、誤った書き込みや削除、削除されたアカウント・データベース・コンテナーの復元、バックアップが存在するリージョンへの復元が可能です。復元期間は選択した階層により30日または7日で、復元はポータル、CLI、PowerShell、ARMテンプレートから実行できます。(Microsoft Learn)

ただし、バックアップモードの移行には注意が必要です。周期的バックアップから継続的バックアップへの移行は一方向で、元に戻せません。移行後はコストも変わる可能性があります。(Microsoft Learn)

変更フィードも確認が必要です。最新バージョンモードでは削除が捕捉されず、すべてのバージョンと削除モードを使うには継続的バックアップが必要です。イベント駆動処理、埋め込みの再生成、検索用データ同期を変更フィードで行う場合は、どのモードを使うかを事前に決めてください。(Microsoft Learn)

Synapse Link前提の新規設計は避け、Fabric Mirroringを検討する

分析連携では、過去のSynapse Link前提の設計をそのまま新規プロジェクトに使わないよう注意が必要です。公式情報では、Synapse Link for Cosmos DBは新規プロジェクトではサポートされなくなっており、Microsoft FabricのAzure Cosmos DB Mirroringを使うよう案内されています。(Microsoft Learn)

Fabric Mirroringでは、Azure Cosmos DBのデータをFabric OneLakeにほぼリアルタイムで継続的にレプリケートし、トランザクション処理と分析処理を分離できます。公式情報では、トランザクションワークロードに性能影響を与えず、RUも消費しないと説明されています。(Microsoft Learn)

コストとスケールで確認すべき判断基準

AIアプリは、通常のWebアプリよりもアクセスパターンが読みにくくなります。会話数、埋め込み生成、RAG検索、再ランキング、エージェントの自動探索などで、短時間にRU消費が増えることがあります。

項目確認ポイント
手動プロビジョニングトラフィックが安定しているワークロード向け
オートスケール変動や予測しにくい負荷に向く
サーバーレス小規模・不定期・検証用途に向くが、リージョンなど制約を確認
予約容量長期的に一定規模で使う場合に検討
ベクター検索インデックス種別、件数、TOP句、パーティションでRUが変わる
全文検索検索語、対象パス、インデックス設定でRUとレイテンシが変わる
MCP/AI連携AIが想定以上にクエリを発行する可能性がある

公式情報では、手動プロビジョニングは安定・予測可能なトラフィックに向き、オートスケールは変動や予測困難なトラフィックに向くと説明されています。また、標準プロビジョニングとオートスケールのコスト比較では、利用率の目安として66%という基準が示されています。(Microsoft Learn)

サーバーレスは事前にRU/sを構成せず、消費したRUに基づいて課金されますが、サーバーレスアカウントは単一リージョンで動作するなどの違いがあります。グローバル配信や高可用性を重視する本番システムでは、プロビジョニングまたはオートスケールとの比較が必要です。(Microsoft Learn)

移行・展開で失敗しやすいポイント

既存コンテナーに後付けでAI検索を載せようとする

既存のCosmos DBコンテナーにベクター検索を追加する場合、現在のデータモデル、パーティションキー、インデックス、RU、バックアップを確認せずに進めると、後で作り直しになる可能性があります。

特にベクターポリシーやベクターインデックスは変更しにくいため、検証用コンテナーを作り、埋め込みデータを投入し、検索品質とRUを測ってから本番コンテナーを作るのが安全です。

GSIを本番前提で過信する

Global Secondary Indexesは、元コンテナーとは異なるパーティションキーを持つ読み取り専用コンテナーを自動同期し、クロスパーティションクエリを単一パーティションクエリに変えられる可能性があります。検索用、全文検索用、ベクター検索用の負荷分離にも使える可能性がありますが、現時点ではプレビューとして扱われています。(Microsoft Learn)

GSIは便利ですが、同期は非同期であり、GSI側にも独自のストレージ、RU、インデックス、データモデルがあります。運用では、整合性、同期遅延、RU、プレビュー利用条件を確認してください。

ベクター件数が少ない状態で性能を判断する

diskANNquantizedFlatは、少なくとも1,000件のベクターが必要です。数十件や数百件のテストデータで「思ったよりRUが高い」「レイテンシが低くない」と判断しても、本番データ量では挙動が変わる可能性があります。

検証では、以下を満たすデータで評価してください。

検証項目推奨される確認
データ件数本番想定に近い件数を投入する
ベクター次元数実際に使う埋め込みモデルと一致させる
検索対象範囲パーティションキーやWHERE句で絞る
TOP件数UIやRAGで実際に使う件数に合わせる
品質評価正解データを用意し、再現率や回答品質を見る
RU評価クエリごとのRUとピーク時の合計RUを測る

CopilotやAI coding assistantの提案をそのまま本番に入れる

Agent Kitにより、Cosmos DB向けのベストプラクティスをAI coding assistantに取り込めるのは大きな利点です。しかし、AIの提案はコードレビューの補助であり、設計責任を置き換えるものではありません。

本番投入前には、少なくとも次の観点で人間が確認してください。

レビュー観点確認内容
セキュリティキー直書き、権限過多、MCP公開範囲がないか
コストSELECT *、横断クエリ、不要なインデックスがないか
信頼性429、リトライ、タイムアウト、フェールオーバーを考慮しているか
データモデルパーティションキーとクエリパターンが合っているか
検索品質ベクター検索と全文検索の評価が実施されているか
運用RU、ログ、メトリック、復元手順が用意されているか

Azure Cosmos DBを選ぶべきケース、避けるべきケース

Azure Cosmos DBはAIアプリに有力な選択肢ですが、すべてのシステムに最適とは限りません。公式概要でも、分析ワークロードにはMicrosoft Fabric、高度にリレーショナルなアプリにはAzure SQLやAzure Database for MySQLが代替候補として挙げられています。(Microsoft Learn)

シナリオ判断
グローバルに低レイテンシで動くAIアプリAzure Cosmos DBが有力
会話履歴やエージェントメモリを保存したいAzure Cosmos DB for NoSQLが向く
運用データとベクターを同じデータストアで扱いたいAzure Cosmos DBが向く
RAGで意味検索とキーワード検索を組み合わせたいベクター検索+全文検索+ハイブリッド検索を検討
大規模なOLAPや複雑な集計が中心Microsoft Fabricを検討
厳密なリレーショナル設計や複雑なJOINが中心Azure SQLなどを検討
MongoDB互換ツールや複雑な集計、マルチクラウド移植性を重視Azure DocumentDB vCoreを検討
既存のCosmos DBを分析に使いたいFabric Mirroringを検討

Azure DocumentDBとの比較では、Azure Cosmos DBはグローバル分散や大規模スケールアウト、瞬時スケーリングに向き、Azure DocumentDB vCoreはMongoDB互換性、複雑な集計、予測しやすいvCoreベースの価格を重視する用途に向くと整理されています。(Microsoft Learn)

導入前チェックリスト

Azure Cosmos DBをUnified AI Databaseとして使う場合、次の順序で確認すると手戻りを減らせます。

ステップ実施内容
ユースケース定義RAG、エージェントメモリ、商品検索、FAQ検索などを明確化する
API選定NoSQL APIで使う機能と、他APIの対象範囲を切り分ける
データモデル設計1アイテムの粒度、会話履歴、埋め込み保存先を決める
パーティション設計テナント、ユーザー、スレッド、カテゴリなどを基準に決める
検索設計ベクター検索、全文検索、ハイブリッド検索の使い分けを決める
インデックス設計ベクターポリシー、全文検索ポリシー、GSIの利用可否を確認する
RU見積もりクエリ、書き込み、埋め込み更新、変更フィードを含めて見積もる
セキュリティ設計Entra ID、RBAC、Private Endpoint、MCP公開範囲を決める
バックアップ設計継続的バックアップ、PITR、復元権限、復元テストを決める
展開設計検証環境、データ移行、並行稼働、ロールバック手順を用意する

最初の一歩としては、既存のAzure Cosmos DBアカウントを棚卸しし、AI用途で使う候補コンテナーを1つ選びます。次に、パーティションキー、インデックス、RU、バックアップ、権限、ネットワーク、Fabric連携の現状を一覧化してください。そのうえで、検証用コンテナーに本番に近いデータ量を投入し、ベクター検索・全文検索・ハイブリッド検索の品質とRUを測定します。

Azure Cosmos DBのUnified AI Database化は、AIアプリ開発を楽にする一方で、設計を省略できるものではありません。管理者と開発者が同じチェックリストで確認し、検索品質、コスト、セキュリティ、復元性を検証してから本番展開することが、失敗を避ける最短ルートです。

この記事を書いた人

実務の現場で詰まりがちなポイントを地図にするITブログ「IT trip」を運営。Windows/Office(Teams・Excel)からSQL、サーバ運用、ガジェットまで、再現性のある手順と“なぜそうなるか”を丁寧に解説します。読んだらすぐ試せること、そして迷った人の次の一歩が見えることを大切にしています。

コメント

コメントする

目次