適用対象: 
              
               NoSQL 
              
               MongoDB 
              
               カサンドラ 
              
               グレムリン 
              
               表
全般
Azure Cosmos DB の一般的なユース ケースを教えてください。
Azure Cosmos DB は、Web、モバイル、ゲーム、IoT のユース ケースに適しています。 これらのユース ケースでは、自動スケール、予測可能なパフォーマンス、ミリ秒オーダーの高速な応答時間、スキーマフリー データに対してクエリを実行できることが重要です。 Azure Cosmos DB は迅速な開発に役立ち、アプリケーション データ モデルの継続的な反復をサポートします。 ユーザーが生成したコンテンツとデータを管理するアプリケーションは、多くの場合、Azure Cosmos DB の一般的なユース ケースにマップされます。
Azure Cosmos DB では、予測可能なパフォーマンスをどのようにして実現していますか?
              要求ユニット (RU) とは、Azure Cosmos DB におけるスループットの単位です。 1 つの要求ユニットのスループットは、1 キロバイトのドキュメントに対する GET HTTP アクションのスループットに対応します。 Azure Cosmos DB におけるすべての操作 (読み取り、書き込み、クエリ、ストアド プロシージャの実行など) には、操作を完了するために必要なスループットに基づいて明確な要求ユニット値が設定されています。 アプリケーションのスループットに関連して CPU、IO、メモリを強制的に考慮するのではなく、要求ユニットを単位として考えることができます。
各 Azure Cosmos DB コンテナーは、1 秒あたりの要求ユニット数 (RU/秒) を単位としてプロビジョニングされたスループットで構成できます。 個々の要求のベンチマークを実行して要求ユニットで測定し、1 秒間のそのコンテナーのすべての要求ユニットの合計を処理するコンテナーを作成できます。 アプリケーションのニーズの進化に合わせて、コンテナーのスループットをスケールアップまたはスケールダウンすることもできます。 要求ユニットを測定する方法の詳細については、スループット計算ツールに関するページを参照してください。
Azure Cosmos DB は、キー/値、多桁式、ドキュメント、グラフなどのさまざまなデータ モデルをどのようにサポートしていますか?
キー/値 (テーブル)、多桁式、ドキュメント、およびグラフ データ モデルは、Azure Cosmos DB のベースである ARS (アトム、レコード、およびシーケンス) 設計のため、すべてネイティブにサポートされています。 アトム、レコード、およびシーケンスは、さまざまなデータ モデルに容易にマップしたり投影したりできます。 モデルのサブセットの API は ARS 設計を使って利用できます (MongoDB RU、NoSQL、Table、Apache Cassandra、Apache Gremlin)。 Azure Cosmos DB では、MongoDB 仮想コア、Cassandra MI、PostgreSQL などの他の API もサポートされています。
Azure Cosmos DB コンテナーとは何ですか?
コンテナーは項目のグループです。 コンテナーは、1 つまたは複数のパーティションにまたがって存在することができ、拡張性があるので、対応できるストレージまたはスループットの量には実質的に制限はありません。
| コンテナーの別名 | |
|---|---|
| Azure Cosmos DB for NoSQL | コンテナー | 
| Azure Cosmos DB for MongoDB RU | コレクション | 
| Azure Cosmos DB for MongoDB 仮想コア | コレクション | 
| Azure Cosmos DB for Apache Cassandra | テーブル | 
| Azure Cosmos DB for Apache Gremlin | Graph | 
| Azure Cosmos DB for Table | テーブル | 
コンテナーは課金対象エンティティであり、スループットと使用ストレージによってコストが決まります。 各コンテナーは、プロビジョニング済みスループットと使用されたストレージ領域に基づいて時間単位で課金されます。 詳細については、「Azure Cosmos DB の価格」を参照してください。
複数の API を使用して自分のデータにアクセスできますか?
Azure Cosmos DB は、Microsoft によってグローバルに配布されるマルチモデル データベース サービスです。 マルチモデルは、複数の API とデータ モデルに対する Azure Cosmos DB のサポートを指します。 このパラダイムでは、さまざまな API でストレージとワイヤ プロトコルに異なるデータ形式が使用されます。 例えば、NoSQL では JSON が使用され、MongoDB ではバイナリでエンコードされた JSON (BSON) が使用され、Table では Entity Data Model (EDM) が使用され、Cassandra では Cassandra Query Language (CQL) が使用され、Gremlin では JSON 形式が使用されます。 そのため、特定のアカウントでデータにアクセスするときは、常に同じ API を使用することをお勧めします。
Azure Cosmos DB を他のサービスと直接統合することはできますか?
はい。 Azure Cosmos DB API を使用すると、直接統合が可能になります。 たとえば、Azure Cosmos DB REST API は CRUD 操作のために Azure API Management と統合できるため、Azure Functions のような中間サービスが不要になります。
Azure Cosmos DB は HIPAA に準拠していますか?
はい。Azure Cosmos DB は HIPAA に準拠しています。 HIPAA は、個別に識別できる医療情報の使用、開示、および保護するための要件を確立しています。 詳細については、Microsoft セキュリティ センターを参照してください。
Azure Cosmos DB のストレージの制限を教えてください。
Azure Cosmos DB でコンテナーが格納できるデータの合計量に制限はありません。
Azure Cosmos DB のスループットの制限を教えてください。
Azure Cosmos DB でコンテナーがサポートできるスループットの総量に制限はありません。 基本的な考え方は、十分に多くの数のパーティション キーにワークロードをほぼ均等に分散させることです。
直接およびゲートウェイ接続モードは暗号化されますか?
はい、どちらのモードも常に完全に暗号化されます。
Azure Cosmos DB の料金はいくらですか?
プロビジョニング済みコンテナーの数、コンテナーがオンラインであった時間数、各コンテナーのプロビジョニング スループットによって、Azure Cosmos DB の利用料金が決まります。 価格の詳細については、「Azure Cosmos DB の価格」を参照してください。
Azure Cosmos DB に関する追加のヘルプを取得するにはどうすればよいですか?
技術的な質問をするには、次の 2 つの質問および回答フォーラムのいずれかに投稿することができます。
- Microsoft の質問と回答 (Q&A)
 - Stack Overflow。 Stack Overflow は、プログラミングに関する質問に最適です。 できるだけ多くの詳細を入力して、質問を明確にして回答できるようにします。
 
アカウントを使用して問題を修正するには、Azure Portal でサポート要求を提出します。
さまざまなリソース グループ、サブスクリプション、テナント間での Azure Cosmos DB アカウントの移行
Azure Cosmos DB アカウントを別のリソース グループまたは別のサブスクリプションに移行するにはどうすればよいですか?
Cosmos DB アカウントを別のリソース グループまたはサブスクリプションに移行するための一般的なガイドラインについては、 新しいリソース グループまたはサブスクリプションへの Azure リソースの移動に関する 記事で説明されています。
一般的なガイドラインに従って Azure Cosmos DB アカウントを正常に移動したら、そのアカウントに関連付けられている ID (System-Assigned または User-Assigned) を 再割り当てする必要があります。 この再割り当ては、これらの ID が Key Vault キーにアクセスするために必要なアクセス許可を持ち続けるために必要です。
Warnung
Cosmos DB アカウントでカスタマー マネージド キーが有効になっている場合、アカウントを別のリソース グループまたはサブスクリプションに移行できるのは、アクティブな状態の場合のみです。 取り消された状態のアカウントは移行できません。
Azure Cosmos DB アカウントを別のテナントに移行するにはどうすればよいですか?
Cosmos DB アカウントでカスタマー マネージド キーが有効になっている場合、そのアカウントはテナント間のカスタマー マネージド キー アカウントの場合にのみ移行できます。 詳細については、 Azure Key Vault を使用して Azure Cosmos DB アカウントのテナント間カスタマー マネージド キーを構成する方法に関するガイドを参照してください。
Warnung
移行後は、元のテナント間の関係を維持するために、Azure Cosmos DB アカウントと Azure Key Vault を別々のテナントに保持することが重要です。 Cosmos DB アカウントの移行が完了するまで、Key Vault キーが保持されていることを確認します。
継続的バックアップ モードへの移行
移行中と移行後に何を期待する必要がありますか?
定期的モードから連続モードに移行する場合、アカウント レベルの更新または削除を実行するコントロール プレーン操作を実行することはできません。 たとえば、リージョンの追加や削除、アカウントのフェールオーバー、バックアップ ポリシーの更新などの操作は、移行の進行中は実行できません。 移行にかかる時間は、データのサイズとアカウント内のリージョンの数によって異なります。 移行されたアカウントに対する復元アクションは、移行が正常に完了した時点からのみ成功します。
移行が完了したら、アカウントを復元できます。 移行が午後 1:00 PST に完了した場合は、午後 1 時 (PST) からポイントインタイム リストアを実行できます。
移行はアカウント レベルでのみ行われますか?
はい。
継続的バックアップのバックアップ移行の対象となるアカウントはどれですか?
共有、プロビジョニング、または自動スケーリングのプロビジョニング済みスループットを使用する Api for NoSQL、API for Table、Gremlin API、および MongoDB 用 API アカウントでは、継続的バックアップへの移行がサポートされます。
Azure Synapse Link が有効になっているアカウント、または 1 つ以上のコレクションで Azure Synapse Link が無効になっているアカウントは、継続的バックアップに移行できません。
移行には時間がかかりますか? 一般的な時間は何ですか?
移行には、データのサイズとアカウント内のリージョンの数によって大きく異なるさまざまな時間がかかります。 移行の状態は、Azure CLI または PowerShell コマンドを使用して取得できます。 数十テラバイトのデータを含む大規模なアカウントの場合、移行が完了するまでに最大数日かかる場合があります。
複数リージョン書き込み(mrw)アカウントでの定期的なバックアップから連続バックアップへの移行には時間がかかりますか?
はい。この移行には、バックアップの継続的移行中に古い仮の書き込みがすべてドレインされるのを待つ必要性に大きく依存する時間がかかります。 移行の状態は、Azure CLI または PowerShell コマンドを使用して取得できます。 数十テラバイトのデータを含む大規模なアカウントの場合、移行が完了するまでに最大数日かかる場合があります。
移行によって可用性のダウンタイムが発生しますか?
いいえ。移行操作はバックグラウンドで行われます。 そのため、クライアント要求は影響を受けません。 ただし、移行中にいくつかのバックエンド操作を実行する必要があり、アカウントの負荷が高い場合は余分な時間がかかる可能性があります。
移行が失敗した場合はどうなりますか? 定期的なバックアップまたは継続的バックアップは引き続き取得できますか?
移行プロセスが開始されると、アカウントは継続的モードで有効になります。 移行が失敗した場合は、成功するまで、もう一度移行を開始する必要があります。
移行前/移行中/移行後にタイムスタンプへの復元を実行するにはどうすればよいですか?
              t1で移行を開始し、t5で完了したと仮定すると、t1とt5の間に復元タイムスタンプを使用することはできません。
また、アカウントが継続的モードになったと仮定します。 
              t5後の時刻に復元するには、Azure portal、CLI、または PowerShell を使用して、通常どおり継続的なアカウントで復元を実行します。 このセルフサービス復元要求は、移行が完了した後にのみ実行できます。
              t1前の時点に復元するには、定期的なバックアップ アカウントを使用する場合と同様に、サポート チケットを開くことができます。 移行後、定期的な復元を実行するには、最大 30 日が必要です。 この 30 日間は、移行前のアカウントのバックアップ保有期間/間隔に基づいて復元できます。 たとえば、バックアップが 1 時間間隔で 24 個のコピーを保持するように構成されている場合は、 (t1 – 24 hours) と t1の間でいつでも復元できます。
移行中にブロックされるアカウントレベルの管理プレーン操作はどれですか?
リージョンの追加と削除、フェールオーバー、バックアップ ポリシーの変更、データ移動の結果として生じるスループットの変更などの操作は、移行中にブロックされます。
何らかの根本的な問題で移行が失敗した場合、移行を再試行して正常に完了するまでコントロール プレーン操作はブロックされますか?
移行に失敗しても、コントロール プレーン操作はブロックされません。 移行が失敗した場合は、他のコントロール プレーン操作を実行する前に、成功するまで再試行してください。
移行をキャンセルできますか?
移行は元に戻せる操作ではないので、移行を取り消すことはできません。 サポート呼び出しチームを介して、一時的にキャンセルし、オフライン操作を続行することができます。 ただし、定期的なバックアップ状態に戻すことはできません。
データの使用状況とリージョンの数に基づいて移行時間を見積もるのに役立つツールはありますか?
時間を見積もるツールはありません。 テストとスケールの実行は、1 TB のデータを含むアカウントに約 90 分かかることを示しています。
複数リージョンアカウントの場合は、合計データ サイズを Number_of_regions * Data_in_single_regionとして計算します。
継続的バックアップ モードが GA になったため、アカウントのコピーを復元することをお勧めしますか? 運用アカウントの移行を決定する前に、コピーで移行を試してみることをお勧めしますか?
運用アカウントを移行する前に、連続バックアップ モード機能をテストして、期待どおりに動作することを確認します。 移行は一方向の操作であり、元に戻すことはできません。
Azure Cosmos DB を無料で試す
無料アカウントはありますか?
はい。1,000 RU/秒と 25 GB の 無料データベース アカウント に無料でサインアップできます。
Azure を初めてお使いの場合は、Azure の無料アカウントにサインアップできます。このアカウントには、Azure のすべてのサービスを試すための試用期間 (30 日) とクレジットが与えられます。 Visual Studio サブスクリプションを持っている場合は、無料の Azure クレジットを利用して、すべての Azure サービスを使うこともできます。
また、Azure Cosmos DB Emulator を使用すると、Azure サブスクリプションを作成しなくても、ローカルでのアプリケーションの開発とテストを無料で行うことができます。 Azure Cosmos DB Emulator でのアプリケーションの動作に満足できたら、クラウドでの Azure Cosmos DB アカウントの使用に切り替えることができます。
Azure Cosmos DB の使用を開始する
Azure Cosmos DB にサインアップするにはどうすればよいですか?
Azure Cosmos DB は Azure Portal で利用できます。 まず、Azure サブスクリプションにサインアップします。 サインアップした後、Azure サブスクリプションに Azure Cosmos DB アカウントを追加します。
Azure Cosmos DB に対して認証するにはどうすればよいですか?
Microsoft Entra ID を使用して、この認証方法をサポートするすべての API に対して Azure Cosmos DB に対する認証を行います。 Microsoft Entra ID 認証をサポートしていない API の場合は、キーを慎重に使用してください。 運用アカウントのキーが、Azure Key Vault などに安全に格納されていることを確認します。
Azure Cosmos DB はどこで利用できますか?
Azure Cosmos DB のリージョン別の提供状況については、リージョン別の利用可能な Azure 製品に関するページを参照してください。 データベースは、これらの 1 つまたは複数のリージョンにアカウントを設定できます。
Azure Cosmos DB 用のソフトウェア開発キット (SDK) を利用すると、接続に使用されるリージョンを構成できます。 ほとんどの SDK では、"PreferredLocations" の値は、Azure Cosmos DB を利用できる Azure リージョンのいずれかに設定されます。
Azure のデータ センター経由で世界中にデータを配布するときに注意すべきことはありますか?
Azure Cosmos DB は、「Azure リージョン」ページに記載されているすべての Azure リージョンにわたって存在します。 コア Azure サービスであるため、すべての新しいデータセンターに Azure Cosmos DB が存在します。
リージョンを設定するときは、Azure Cosmos DB では主権のあるクラウドと政府機関のクラウドが重視されることに注意してください。 たとえば、ソブリン リージョンからデータをレプリケートすることはできません。 同様に、外部のアカウントから他の独立した場所へのレプリケーションを有効にすることはできません。
コンテナー レベルとデータベース レベルのスループット プロビジョニングを切り替えることはできますか?
コンテナー レベルとデータベース レベルのスループット プロビジョニングは個別のオファリングであり、これらのオファリングのいずれかを切り替える場合は、ソースから宛先にデータを移行する必要があります。 新しいデータベースまたはコンテナーを作成してから、バルク エグゼキューター ライブラリまたは Azure Data Factory を使用してデータを移行する必要があります。
Azure CosmosDB では、時系列分析がサポートされていますか。
はい、Azure Cosmos DB では時系列分析がサポートされています。 変更フィードを使用して、時系列データの集計ビューを構築できます。 Apache Spark ストリーミングまたは別のストリーム データ プロセッサを使用して、このアプローチを拡張できます。
Azure Cosmos DB サービスのクォータとスループットの制限は何ですか?
関連コンテンツ
- Azure Cosmos DB for NoSQL についてよく寄せられる質問
 - Azure Cosmos DB for MongoDB についてよく寄せられる質問
 - Azure Cosmos DB for Apache Gremlin についてよく寄せられる質問
 - Azure Cosmos DB for Apache Cassandra についてよく寄せられる質問
 - Azure Cosmos DB for Table についてよく寄せられる質問