Azure Cosmos DBとは|特徴・整合性・料金とDynamoDBの違い
最終更新日:2026/11/10
Azure Cosmos DBとは、Microsoftがグローバル分散を前提に設計した、フルマネージドのNoSQLデータベースです。5つの整合性レベルとRU(要求ユニット)課金という独特の設計思想を持ち、ここを読み違えると性能もコストも崩れます。DynamoDBとの違い、料金の見積もり方、案件で問われる論点までを実務目線で整理します。
先に結論
Azure Cosmos DBは、ドキュメント・キー値・グラフ・テーブルなどを扱えるマルチモデルNoSQLで、近年はベクター検索にも対応している。Azure上で「スケールアウト前提」の運用データを置く場所として設計されている
最大の個性は5段階の整合性レベル。多くの分散NoSQLが強い整合性と結果整合性を軸に設計を考えるのに対し、間に3段階を持つ
料金は容量ではなくRU/秒(要求ユニット)で決まる。読み書きの回数と重さが請求額に直結するため、見積もりの勘所がRDBとまったく違う
設計で最初に効くのはパーティションキー。通常の単一キー設計では論理パーティション1つあたり20GB・10,000 RU/秒が上限で、あとから変更できない
フリコン掲載案件を見る限り、「Cosmos DB単独」を前面に出した募集は多くなく、Azure全体の設計・構築案件の一部として登場する傾向がある。探すならAzure環境タグから入るのが実務的
なお本記事の技術仕様・料金・資格情報は、2026年11月10日時点のMicrosoft Learnおよびフリコン掲載情報をもとに整理しています。料金・プレビュー機能・資格の最新条件は公式ページで確認してください。
この記事でわかること
Azure Cosmos DBの定義と、対応している5つのAPI/データモデル
5つの整合性レベルの違いと、スループット・コストへの跳ね返り方
パーティション設計で踏みやすい20GBの壁と、その回避策
DynamoDB・MongoDB・Cassandraとの使い分け
フリーランス案件での扱われ方と、面談で問われる論点
想定読者は、AWSやオンプレのRDBは触ってきたけれどAzureのNoSQLは初めて、という実務経験3年以上のエンジニアです。Azure全体の俯瞰が必要な方は、先にMicrosoft Azureとは|主要サービス・AWS/GCPとの違い・案件単価を読んでおくと話が早くなります。
目次
Azure Cosmos DBとは|マルチモデルNoSQLの基本
5つの整合性レベルと選び方
パーティション設計の勘所|20GBの壁
料金とRUの考え方
DynamoDB・MongoDBとの違いと使い分け
フリーランス案件での扱われ方と単価の目安
導入でよくある失敗と対策
導入前チェックリスト
まとめ
よくある質問
Azure Cosmos DBとは|マルチモデルNoSQLの基本
結論から言えば、Azure Cosmos DBは主に「アプリの手前に置く運用データベース」です。大量集計や対話型分析の主基盤として使うサービスではありません。
Microsoftは公式ドキュメントで、ドキュメント・ベクター・キー値・グラフ・テーブルといった運用データモデルすべてに対応する統合データベースと位置づけています(Azure Cosmos DB 概要|Microsoft Learn)。インフラの調達もパッチ適用もMicrosoft側が持つフルマネージド型で、利用者が設計するのはデータモデル・パーティション・整合性・スループットの4点に絞られます。
対応API(5種類)とデータモデル
Cosmos DBは1つのサービスでありながら、接続する「API」を選ぶことで振る舞いが変わります。2026年11月10日時点のMicrosoft Learnでは、主に以下のAPIが案内されています。
API | データモデル | 主な用途 |
|---|---|---|
NoSQL用API(ネイティブ) | JSONドキュメント | 新規開発の第一候補。機能追加が最も早く届く |
MongoDB用API | JSONドキュメント | MongoDBのドライバー資産をそのまま使いたい場合 |
Cassandra用API | ワイドカラム | Cassandra互換のワイヤプロトコルで接続する場合 |
Gremlin用API | グラフ | 関係性をたどるクエリが中心のデータ |
Table用API | キー値 | Azure Table Storageからの移行 |
新規に書くならネイティブのNoSQL用APIが基本線です。互換APIは既存資産の移行や、ドライバーを変えたくない事情があるときの選択肢と考えると整理しやすくなります。
SDKは.NET・Java・JavaScript/Node.js・Python・Go・Rustが用意され、インデックスは既定で自動作成されます。多くのワークロードで手動のインデックス保守が不要になる点は、運用工数の読みに効いてきます。
Azure DocumentDBとの分離(2026年の重要な変化)
ここは多くの日本語記事がまだ追いきれていない論点です。
2026年11月10日時点で、MicrosoftはCosmos DBとは別に、Azure DocumentDB(仮想コア) という製品を案内しています(Azure DocumentDBとAzure Cosmos DBの比較|Microsoft Learn)。PostgreSQLエンジン上に構築されたオープンソースのDocumentDBエンジンを搭載し、MongoDBワイヤプロトコル互換を持つサービスです。両者は似て見えますが、設計の向きがはっきり違います。
以下はMicrosoft Learnで案内されている代表的な条件の比較です。可用性SLAは選択したリージョン数・書き込み構成・整合性・契約条件で変わるため、実際の値は公式のSLA文書で確認してください。
比較軸 | Azure Cosmos DB(RU/サーバーレス) | Azure DocumentDB(仮想コア) |
|---|---|---|
可用性SLA | 99.999%(複数リージョン) | 99.995% |
スケーリング | 水平スケールアウト(リージョンごとのRU/秒) | 垂直スケールアップ(プロビジョニング済み仮想コア) |
グローバル分散 | マルチリージョン書き込みと自動フェールオーバーを標準装備 | リージョン配置+オプションの地理レプリカ |
クエリの得意分野 | ポイント読み取り・分散クエリ | 高度な集計パイプラインやMongoDB互換のクエリ表現 |
コストモデル | RUベースまたはサーバーレスの従量 | 予測しやすいコンピューティング+ストレージ |
Microsoft自身は、ドライバーの柔軟性とグローバルスケールが要るならCosmos DBのネイティブNoSQL用API、MongoDBの集計忠実度やマルチクラウド移植性が要るならDocumentDB、という切り分けを案内しています(Azure DocumentDBとAzure Cosmos DBの比較|Microsoft Learn)。
案件の現場では「Cosmos DBのMongo API」と言われたときに、どちらの製品の話なのかを確認しないと見積もりが崩れます。最初の面談で聞いておくと安全な項目です。
ミニFAQ|基本編
Cosmos DBはRDBの置き換えになりますか。
なりません。リレーション性が高いアプリケーション(たとえば複雑な結合が前提の業務システム)は、Microsoft自身がAzure SQLやAzure Database for MySQLを検討するよう案内しています。Cosmos DBが得意なのは、スキーマが揺れる・書き込みが多い・レイテンシに厳しい領域です。
分析用途に使えますか。
対話型分析や大量バッチ分析(OLAP)は不得手な領域とされており、代替としてMicrosoft Fabricが挙げられています。分析が要る場合は、Azure Synapse LinkやFabricミラーリングで分析ストアに逃がす構成が定石です。
5つの整合性レベルと選び方
Cosmos DBを語るうえで外せないのがここです。
多くの分散NoSQLでは、強い整合性と結果整合性を軸に設計を考えることが多いところです。Cosmos DBは、その間に3段階を置いた5レベルを用意しています(整合性レベルの選択|Microsoft Learn)。
整合性レベル | 保証の内容 | 向くケース |
|---|---|---|
強力(Strong) | 線形化可能性。常に最後にコミットされたバージョンを読む | 残高・在庫など、古い値を見せてはいけないもの |
有界整合性制約(Bounded staleness) | 遅れをK個のバージョンまたはT時間以内に抑える | 遅延の上限を契約として決めたいケース |
セッション(Session) | 同一セッション内で自分の書き込みを必ず読める | 最も広く使われる既定線。ユーザー単位のアプリ |
一貫性のあるプレフィックス(Consistent prefix) | 書き込みの順序が逆転して見えない | 順序だけ守れればよいイベント列 |
最終的(Eventual) | 順序保証なし。いずれ収束する | いいね数・閲覧数など、ズレても実害が小さいもの |
実務ではセッション整合性が出発点になります。ユーザー単位で動くアプリの直感に最も近く、書き込みレイテンシと読み取りスループットのバランスが良いためです。
整合性はスループットとコストに跳ね返る
ここが設計上の落とし穴です。
強力整合性と有界整合性制約では、保証のために4レプリカセット中2つのレプリカから読む必要があります。セッション・一貫性のあるプレフィックス・最終的の3つは単一レプリカ読み取りです。結果として、少なくとも読み取りについては、同じデータを読む場合のRU消費が他レベルの約2倍になります。書き込みやストレージには直接かかる話ではない点に注意してください。
「とりあえず一番強いレベルにしておこう」という判断は、読み取り中心のワークロードではRU消費と請求額を大きく押し上げます。この構造を理解しているかどうかは、面談でもよく効く論点です。
マルチリージョン書き込みとの制約
複数の書き込みリージョンを持つアカウントでは、強力整合性を使えません。複数リージョンで同時に書き込む構成では、全リージョンで常に最新値を線形化して読む保証を維持するのが難しいためです。なおRPOは許容できるデータ損失時間、RTOは復旧までの時間目標を指します。
もう1つ、距離の制約もあります。5,000マイル(8,000キロメートル)を超えるリージョンにまたがるアカウントでは、強力整合性が既定でブロックされます。有効化にはサポートへの問い合わせが必要です。日本と北米・欧州をまたぐ構成を検討しているなら、設計の早い段階で確認しておく項目になります。
レイテンシの目安も押さえておきましょう。Microsoftは、適切に構成された環境での目安として、読み取り・書き込みともに99パーセンタイルで10ミリ秒未満、50パーセンタイルでは読み取り4ミリ秒以下・書き込み5ミリ秒以下という値を示しています。実際のレイテンシはリージョン、整合性レベル、ネットワーク、リクエスト内容やパーティション設計に左右されます。また複数リージョンで強力整合性を使う場合は例外で、書き込みレイテンシは「最も遠い2リージョン間の往復時間の2倍+10ミリ秒」になります。
ミニFAQ|整合性編
既定の整合性レベルは後から変えられますか。
アカウント単位でいつでも変更できます。ただし変更後はアプリケーションを再起動してSDKインスタンスを作り直す必要があります。リクエスト単位で既定を上書きすることも可能ですが、上書きが効くのはSDKクライアント内の読み取りに限られます。
障害時にどれくらいのデータが失われ得ますか。
整合性レベルと構成で変わります。MicrosoftのSLA/可用性に関するドキュメントでは、複数リージョン・単一書き込みリージョンでセッション/一貫性のあるプレフィックス/最終的を使う場合のRPO目標が15分未満、強力整合性なら0、単一リージョン構成はどの整合性レベルでも240分未満と案内されています。実際の要件確認では、最新のSLA文書と自分の構成条件を突き合わせてください。
パーティション設計の勘所|20GBの壁
Cosmos DBで最初に、そして最後まで効いてくるのがパーティションキーの選定です。
論理パーティションは、同じパーティションキー値を持つアイテムの集合です。通常の単一パーティションキー設計では、この論理パーティション1つあたりの上限が20GBになります(20GBを超える見込みがある場合は、後述する階層パーティションキーを検討します)。そして物理パーティション1つが提供できるスループットは最大10,000 RU/秒で、論理パーティションは必ず1つの物理パーティションに載るため、論理パーティションあたりのスループット上限も10,000 RU/秒になります(パーティション分割と水平スケーリング|Microsoft Learn)。
パーティションキーの選び方
公式が挙げる条件は4つです。
値が変更されないプロパティであること
カーディナリティが高いこと(取り得る値が広範囲に及ぶ)
RU消費とストレージが論理パーティション間で均等に分散すること
値のサイズが2048バイト以下(大きいパーティションキーを有効にしていない場合は101バイト)
決定的なのは1番です。パーティションキーの値は作成後に変更できません。項目の置換操作ではパーティションキーが既存と一致している必要があり、パーティション間を移動させる手段として使えません。キーを変えるには、新しいコンテナーへデータを移すことになります。
読み取りが多いコンテナーでは、クエリのフィルター条件に頻出するプロパティをキーにするとクロスパーティションクエリを減らせます。クロスパーティションクエリでは、各物理パーティションへ問い合わせる分だけRU消費が増えるためです。公式ドキュメントでは、パーティションごとに数RU程度の追加が発生する例が示されています(実際の増分はクエリ内容・インデックス・返却件数・パーティション数で変わります)。
20GBを超えそうなときの逃げ道
テナントごとにデータが偏るマルチテナント構成などでは、単一のキーで20GBを超える見込みが立ちます。この場合は階層パーティションキー(サブパーティション)を使い、最大3レベルの階層を構成します。第1レベルのカーディナリティが高く、かつほとんどのクエリに含まれるよう設計することが前提条件になります。
複数のクエリパターンを1つのキーで賄えない場合は、グローバルセカンダリインデックス(2026年11月10日時点ではプレビュー)という選択肢もあります。異なるパーティションキーを持つコンテナーがソースと自動同期される仕組みで、追加のストレージとRUコストと引き換えにクロスパーティションクエリを排除できます。プレビュー段階の機能なので、本番採用の可否は公式ドキュメントで最新状況を確認してください。
なお公式ドキュメント上の目安として、30,000 RU/秒を超えるプロビジョニングや100GBを超えるデータ量では、複数の物理パーティションに広がる可能性が高くなります(物理パーティションの分割自体はサービス側が管理します)。これ以下の規模なら、クロスパーティションクエリの性能を過度に気にする必要はありません。
料金とRUの考え方
結論として、Cosmos DBの請求額は「保存したデータ量」より「叩いた回数と重さ」で決まります。
RU(要求ユニット)は、読み書きやクエリに必要なCPU・IOPS・メモリを1つの通貨に丸めた単位です。たとえばセッション整合性での1KBアイテムのポイント読み取りが約1 RU、という形で正規化されています。整合性レベルや項目サイズ、クエリの内容によって消費RUは変わります(要求ユニット|Microsoft Learn)。
3つのスループットモデル
モデル | 課金の考え方 | 向くワークロード |
|---|---|---|
プロビジョニング済みスループット(手動) | 確保したRU/秒に対して課金 | 負荷が読めて安定している |
オートスケール | 設定した上限の範囲で自動増減。使った分に応じた課金 | 日中と夜間で差が大きい |
サーバーレス | 消費したRUのみ課金 | 散発的・スパイク型。開発環境や検証 |
負荷変動が読みにくい初期段階では、オートスケールから入り、実測後に手動プロビジョニングへ切り替える判断が現実的です。常時高負荷で安定しているなら手動プロビジョニングのほうが安く収まります。サーバーレスは安く見えますが、常時トラフィックがあるワークロードでは割高に転ぶケースがあります。
無料で試せる範囲
検証コストをかけずに触れる手段が3つ用意されています。
ライフタイム無料レベル:1,000 RU/秒のスループットと25GBのストレージが無料(無料レベル|Microsoft Learn)
Azure無料アカウント:2026年11月10日時点では、最初の30日間のクレジットと、一定期間の無料枠(400 RU/秒と25GBのストレージ)が案内されています。条件は国・時期で変わるため公式ページで確認してください
エミュレーター:ローカル環境でCosmos DBを無償でエミュレート。開発・テスト用
長期運用が見えているなら、条件によっては予約容量の購入で最大63%の割引が案内されています。適用可否と割引率はリージョン・契約期間・構成で変わります。正確な単価は地域と構成で変わるため、見積もりはAzure Cosmos DBの価格ページで確認してください。
コストを外す典型パターン
実務で請求額が想定を超えるときは、だいたい次のどれかです。
整合性レベルを強力に固定したまま読み取りが多い(同条件の読み取りでRU消費が約2倍になりやすい)
パーティションキーが偏り、ホットパーティションでレート制限が出て、それを回避するために全体のRUを上げてしまう
クロスパーティションクエリが常態化している
インデックスポリシーを既定のまま使い、書き込みが多いコンテナーで不要なインデックス更新が走っている
4つ目は見落とされがちです。Cosmos DBは既定で全プロパティに自動インデックスを張るため、書き込み負荷が高いコンテナーではインデックス対象を絞るだけでRU消費が下がることがあります。
DynamoDB・MongoDBとの違いと使い分け
AWS経験者がCosmos DBに入るとき、頭の中の対応表を一度作っておくと理解が速くなります。
DynamoDBとの比較
比較軸 | Azure Cosmos DB | Amazon DynamoDB |
|---|---|---|
クラウド | Azureネイティブ | AWSネイティブ |
データモデル | ドキュメント・キー値・ワイドカラム・グラフ・テーブル(ベクター検索にも対応) | キー値とドキュメント |
整合性 | 5段階 | 2段階が基本(結果整合性と強い整合性。グローバルテーブル等では別途考慮が必要) |
クエリ | SQLライクな構文に加え、Gremlin・MongoDB・Cassandra互換API | 専用API(PartiQLも利用可) |
インデックス | 既定で自動インデックス | 明示的にセカンダリインデックスを設計 |
課金単位 | RU/秒(オートスケール/サーバーレス) | 読み書きキャパシティユニット(オンデマンド/プロビジョニング) |
設計思想の差をまとめると、DynamoDBは「アクセスパターンを先に決めてから設計する」色が強く、Cosmos DBは「自動インデックスによりクエリの柔軟性は比較的高いが、パーティションキー設計は最初に固める必要がある」という違いです。どちらが優れているという話ではなく、クラウドの選択に引きずられて決まるのが実情です。
DynamoDB側の設計思想はDynamoDBとは|AWSのNoSQL DBの特徴・RDSとの違い・案件単価で整理しています。AWSからの移行検討なら、両方を見比べてください。
MongoDB・Cassandra・Redisとの関係
Cosmos DBはこれらの互換APIを提供しているため、「競合」と「受け皿」の両面を持ちます。
MongoDB:ドキュメント指向という点で最も近い。集計パイプラインの忠実度を重視するならAzure DocumentDB側が候補になる。特性の違いはMongoDBとは?特徴・RDBとの違い・案件単価を参照
Cassandra:書き込み分散に強いワイドカラム型。Cassandra用APIで受けられるが、運用の勘所は異なる(Cassandraとは|分散NoSQLの特徴)
Redis:インメモリのキャッシュ/KVSで、そもそも層が違う。永続化が主目的ならCosmos DB、揮発前提の高速アクセスならRedis(Redisとは?特徴・できること)
Neo4j:グラフ特化。関係性の探索が主目的ならGremlin用APIより専用製品が勝るケースがある(Neo4jとは|グラフデータベースの特徴)
リレーショナルな要件が強いなら、そもそもNoSQLではなくマネージドRDBが正解です。Amazon Auroraとは|RDSとの違い・料金と移行案件の単価のようなRDB側の選択肢も並べて検討するほうが、結果として事故が減ります。
向いているケース・向かないケース
公式が挙げる適合パターンは明快です。
向いているのは、スキーマが頻繁に変わる反復開発、リアルタイムのパーソナライズのようなレイテンシに厳しい処理、予約プラットフォームのような負荷変動が激しいワークロード、IoTデバイスの状態やログのような高スループット処理、顧客向けWebアプリのようなミッションクリティカル用途です。
向かないのは、対話型分析やストリーミング分析などのOLAPワークロードと、リレーション性が高いアプリケーションの2つ。前者はMicrosoft Fabric、後者はAzure SQLやAzure Database for MySQLが代替として案内されています。
ベクター検索とAI用途
近年の位置づけの変化として、Cosmos DBはベクターデータベースとしての機能を取り込んでいます。DiskANNを使ったベクター検索とハイブリッド類似性検索を備え、運用データと埋め込みを同じ場所に置けることが売りです(ベクターデータベース|Microsoft Learn)。
RAG構成でベクターストアを別立てするか、運用DBに寄せるかは判断が分かれるところです。専用ベクターDBとの比較はベクトルDBの選び方|Pinecone・Weaviate・Qdrant・pgvectorの使い分けにまとめています。Azure上でLLMを組むならAzure OpenAI Serviceとは|料金・モデル選定と企業LLM導入案件の実務と合わせて読むと、構成の全体像がつかめます。
フリーランス案件での扱われ方と単価の目安
短答から言います。Cosmos DB単独で募集される案件はほとんどありません。Azureの設計・構築案件の構成要素として登場し、単価はAzure全体の経験値で決まります。
以下の数値は、フリコンに掲載中の案件をスキルタグ別に集計した参考値です(2026年11月10日時点)。掲載時点の提示単価であって成約単価ではなく、またCosmos DB単独のタグ集計でもありません。職種構成や案件レイヤーが異なるため、タグ間の単価差がスキルの優劣を示すものでもない点にご注意ください。
スキルタグ | 掲載件数 | 平均単価 | 中央値 | 最多単価帯 | 月100万円以上の比率 |
|---|---|---|---|---|---|
Azure(環境タグ) | 2,194件 | 83万円/月 | 80万円/月 | 70〜80万円(632件・29%) | 17% |
NoSQL(データベースタグ) | 67件 | 91万円/月 | 90万円/月 | 80〜90万円(21件・31%) | 28% |
Azureタグの案件は、掲載タイトルを見る限りインフラ寄りのクラウド移行・環境構築が中心です。一方でNoSQLタグは件数こそ少ないものの、単価帯は上に寄ります。データストア設計まで任される案件は人数が絞られる、という構造がそのまま出ていると読めます。
自分の経験でどのレンジを狙えるかを把握しておきたい方は、無料のフリーランスエンジニア単価診断で市場単価の目安を確認できます。単価を体系的に上げる考え方はフリーランスエンジニアの単価相場と単価の上げ方で整理しています。
案件で求められるスキルセット
掲載案件やポジションの記述から見えてくる共通項は、Cosmos DBの操作そのものよりその周辺にあります。
Azure全体の設計経験(仮想ネットワーク、Entra ID、監視まわり)
RU設計とコスト最適化の説明責任。「なぜこのRUなのか」を言語化できるか
パーティションキー選定の判断根拠。カーディナリティとクエリパターンの両面から説明できるか
整合性レベルを業務要件から逆算する力
サーバーレス構成との組み合わせ(Azure Functionsとは?サーバレスの仕組み・AWS Lambdaとの違い)
面談で頻出するのは3番目と4番目です。「パーティションキーに何を選びましたか、その理由は」という質問は、設計を自分でやったかどうかが一発で割れる問いになっています。
資格で補強する場合(2026年の変更点)
Cosmos DBに直接対応する資格は、長らくDP-420「Azure Cosmos DB Developer Specialty」でした。これが2026年10月6日付で「Azure Cosmos DB AI Developer Associate」へ名称とレベルが変更され、試験内容にもAI検索・エージェントメモリ・Fabric関連の出題範囲が加わっています。最新の出題範囲はDP-420 試験の学習ガイド|Microsoft Learnで確認してください。
資格単体で単価が上がるわけではありませんが、Azure未経験から案件に入る足がかりとしては機能します。全体のロードマップはAzure認定資格おすすめ一覧|AZ-900からのロードマップを参照してください。
案件の探し方
Cosmos DBという語で検索しても案件はほぼヒットしません。実務的には、Azure環境タグかNoSQLタグから入り、募集要項の本文で使用データストアを確認する流れになります。
どのクラウドから攻めるか迷っている段階なら、クラウド案件の参入順序|AWS・Azure・GCPどれから取るかの判断軸が判断材料になります。複数の案件を比較する段階に入ったら、案件の選び方|フリーランスエンジニアが単価・稼働・スキルで決める優先順位の優先順位づけが使えます。
導入でよくある失敗と対策
失敗1|パーティションキーを「とりあえずID」で決めてしまう
項目IDをパーティションキーにすること自体は、公式も推奨する選択肢です。値が一意でRU消費が均等に分散し、ポイント読み取りが効率的になります。
問題は、クエリパターンを確認せずに決めてしまうケースです。IDでフィルターしないクエリが主流なら、毎回クロスパーティションクエリが走ります。しかもキーは後から変えられません。アクセスパターンを書き出してからキーを決めるという順番を崩さないことが、唯一の予防策になります。
失敗2|強力整合性を「安全策」として選ぶ
読み取りRUが2倍になり、マルチリージョン書き込みが使えなくなり、遠距離リージョン構成では既定でブロックされます。安全策のつもりが制約の束になるパターンです。
業務要件を整理して、「古い値を見せると実害が出るデータ」だけを強力整合性にし、残りはセッションに置く。アカウント既定をセッションにしてリクエスト単位で上書きする設計も可能です。
失敗3|RU不足のレート制限を全体のRU増で殴る
特定の論理パーティションにアクセスが集中すると、全体のRUに余裕があってもそのパーティションだけで制限に当たります。ここでRUを引き上げても、偏りは解消しません。コストだけが増えます。
スループットは物理パーティション間で均等に分割される、という前提を思い出してください。見るべきはRUの総量ではなく、論理パーティションごとの消費の偏りです。20GBに近づいているパーティションはAzure Monitorのアラートで監視できます。
導入前チェックリスト
設計に入る前に、この10項目を埋められるかを確認してください。埋まらない項目がある状態で本番構成を決めると、だいたいあとで作り直しになります。
# | 確認項目 | 埋まっていないと起きること |
|---|---|---|
1 | 主要なクエリパターンを3つ以上書き出したか | パーティションキーを外す |
2 | パーティションキー候補のカーディナリティを確認したか | ホットパーティション |
3 | 単一キーで20GBを超える見込みはあるか | 階層パーティションキーの検討漏れ |
4 | 業務要件から必要な整合性レベルを決めたか | 読み取りRUが想定の2倍 |
5 | マルチリージョン書き込みが要るか | 強力整合性と両立せず設計やり直し |
6 | リージョン間距離が8,000kmを超えるか | 強力整合性が既定でブロック |
7 | 許容できるRPO(データ損失時間)を決めたか | 障害時に事業要件を満たせない |
8 | 負荷が安定か変動かを見極めたか | スループットモデルの選択ミス |
9 | 書き込みが多いコンテナーのインデックス方針 | 不要なインデックス更新でRU浪費 |
10 | 分析要件をどこで受けるか決めたか | 運用DBでOLAPを回して性能劣化 |
4番と5番を同時に確認するのがポイントです。この2つは片方を決めるともう片方が制約されるため、別々に決めると矛盾します。
まとめ
Azure Cosmos DBは、整合性とコストを自分で選ぶタイプのデータベースです。既定値に任せて動かすのではなく、業務要件から逆算して設計した人だけが性能とコストの両方を取れます。
マルチモデルNoSQLで、NoSQL・MongoDB・Cassandra・Gremlin・Tableの5つのAPIに対応。新規ならネイティブのNoSQL用APIが基本
整合性は5段階。セッションを出発点に、強力整合性は「古い値が実害になるデータ」に限定する
強力整合性と有界整合性制約は同条件の読み取りでRU消費が約2倍。マルチリージョン書き込みとは併用不可、8,000km超は既定でブロック
論理パーティションは20GB・10,000 RU/秒が上限で、キーは後から変更できない。アクセスパターンを書き出してから決める
料金はRU/秒。オートスケールから入り、無料レベル(1,000 RU/秒+25GB)で検証してから本番規模を決める
案件はAzure設計・構築案件の一部として登場する。Azureタグの掲載平均は83万円/月、NoSQLタグは91万円/月(フリコン掲載・2026年11月10日時点の参考値)
資格はDP-420が2026年10月6日にAI寄りの内容へ改定済み。出題範囲は公式の学習ガイドで確認する
次のステップとしては、ライフタイム無料レベルでアカウントを1つ作り、手元のデータで論理パーティションを意図的に偏らせてレート制限を体験してみてください。ドキュメントを読むより早く、RU設計の感覚がつかめます。
参照した一次情報は以下のとおりです。
よくある質問
Cosmos DBとCosmos DB for MongoDBは同じサービスですか
同じCosmos DBアカウント上で、接続するAPIが違うだけです。ただし2026年以降は、MongoDB互換の仮想コア版が「Azure DocumentDB」という別製品として整理されています。案件で「Mongo互換を使う」と言われたときは、RU課金のCosmos DB側か仮想コア課金のDocumentDB側かを必ず確認してください。
最小構成の月額はいくらくらいになりますか
構成と地域で変わるため断定はできませんが、ライフタイム無料レベルを適用すれば1,000 RU/秒と25GBまでは無料で運用できます。それを超える部分がRU/秒とストレージに応じた従量課金になります。正確な金額は公式の価格ページで、リージョンと整合性レベルを指定して試算してください。
パーティションキーを間違えたら作り直すしかないですか
原則として作り直しです。項目の置換ではパーティションキーを変更できず、パーティション間の移動もできません。実務ではコンテナーコピージョブで新しいキーのコンテナーへ移行します。クエリパターンの追加が理由なら、グローバルセカンダリインデックス(2026年11月10日時点ではプレビュー)で別キーのコピーを持つ方法も検討できます。
セッション整合性で「自分の書き込みが読めない」ことはありますか
クライアントがそのパーティションへ書き込んでいない場合、セッショントークンがキャッシュにないため、読み取りは最終的な整合性と同じ振る舞いになります。クライアントを作り直した直後も同様です。書き込み内容を確実に読みたい場合は、該当項目について最後に生成されたセッショントークンを使ってください。
RU/秒はどのくらいから始めればいいですか
Azure無料アカウントの枠が400 RU/秒、ライフタイム無料レベルが1,000 RU/秒です。検証段階ならこの範囲で足ります。本番ではオートスケールで上限を設定し、実測のRU消費を見ながら上限を調整する進め方が現実的です。物理パーティション1つが提供できるのは10,000 RU/秒までなので、これを超える設計ではパーティション分散が前提になります。
変更フィードは何に使えますか
コンテナーへの変更を追跡して、Azure Functionsでイベント駆動の処理を組む用途が代表的です。最新バージョンモードに加えて、すべてのバージョンと削除を拾うモードがあります。ストリーミングパイプラインの入口として使うケースも見られます。
オンプレのRDBからCosmos DBへ直接移行できますか
テーブル構造をそのまま持ち込む移行は推奨しにくいところです。リレーション前提の設計をドキュメントモデルに写すと、結合が必要になってクロスパーティションクエリが常態化します。移行ではデータモデルの再設計が実質的に必須で、工数の大半はここに乗ります。リレーション性が強いまま動かしたいなら、Azure SQLへの移行のほうが筋が良いケースが多くなります。
AWS経験しかない状態でAzure案件に入れますか
入れるケースはあります。掲載案件を見る限り、DynamoDBやAWS全般の設計経験を持つ人がAzure案件に入る例は珍しくありません。ただし面談では「Azureでの構築経験の有無」を聞かれるため、無料枠やエミュレーターで手を動かした実績と、AZ-900程度の資格を用意しておくと通りやすくなります。
Cosmos DBのスキルは単価にどう効きますか
Cosmos DB単体で単価が決まることはほぼありません。NoSQLタグの案件単価が高めに出るのは、データストア設計まで任される案件が上位ロールに寄るためと読むのが自然です。効かせたいなら、RU設計とコスト最適化を「金額の話として説明できる」状態まで持っていくことです。
データベースエンジニアとしてのキャリアに繋がりますか
繋がります。分散データベースの整合性・パーティション・コスト設計は、製品が変わっても使い回せる知識です。職種としての全体像はデータベースエンジニアとは?仕事内容・必要スキル・年収・なり方を参照してください。
学習にかかる期間の目安はどれくらいですか
RDBの実務経験がある方なら、無料枠で手を動かしながら基本概念(API選択・パーティション・整合性・RU)を押さえるのに2〜4週間程度を見ておくと現実的です。本番運用の勘所、特にRU設計とコスト最適化は、実案件で1〜2か月稼働して初めて身につく領域と考えてください。
