Azure Cosmos DB の概要: MongoDB APIIntroduction to Azure Cosmos DB: MongoDB API

Azure Cosmos DB は、ミッション クリティカルなアプリケーション向けの、Microsoft のグローバル分散型マルチモデル データベース サービスです。Azure Cosmos DB is Microsoft's globally distributed, multi-model database service for mission-critical applications. Azure Cosmos DB は、ターン キー グローバル分散スループットとストレージの世界規模でのエラスティック スケーリング、99 パーセンタイルの 1 桁ミリ秒の待機時間を提供し、高可用性を保証します。これらはすべて業界最高レベルの SLA によってサポートされています。Azure Cosmos DB provides turn-key global distribution, elastic scaling of throughput and storage worldwide, single-digit millisecond latencies at the 99th percentile, and guaranteed high availability, all backed by industry-leading SLAs. Azure Cosmos DB は、データのインデックスを自動的に作成します。スキーマとインデックスの管理に対処する必要はありません。Azure Cosmos DB automatically indexes data without requiring you to deal with schema and index management. Azure Cosmos DB はマルチモデルであり、ドキュメント、キーと値、グラフ、列指向の各データ モデルをサポートします。It is multi-model and supports document, key-value, graph, and columnar data models.

Azure Cosmos DB: MongoDB API

MongoDB 向けに作成されたアプリのデータ ストアとして Azure Cosmos DB データベースを使用できます。Azure Cosmos DB databases can be used as the data store for apps written for MongoDB. つまり、既存のドライバーを使用することで、MongoDB 用に記述されたアプリケーションが Azure Cosmos DB と通信し、MongoDB データベースではなく Azure Cosmos DB データベースを使用できるようになりました。This functionality means that by using existing drivers, your application written for MongoDB can now communicate with Azure Cosmos DB and use Azure Cosmos DB databases instead of MongoDB databases. 多くの場合、接続文字列を変更するだけで、MongoDB から Azure Cosmos DB に使用を切り替えることができます。In many cases, you can switch from using MongoDB to Azure Cosmos DB by simply changing a connection string. この機能を使用すると、既にある MongoDB のスキルとツールを無駄にすることなく、Azure Cosmos DB とその包括的な業界トップレベルの SLA によって、グローバル配布の MongoDB データベース アプリケーションを簡単に作成し、Azure クラウドで実行することができます。Using this functionality, you can easily build and run MongoDB globally distributed database applications in the Azure cloud with Azure Cosmos DB and it's comprehensive industry-leading SLAs, while continuing to use familiar skills and tools for MongoDB.

MongoDB の互換性: Azure Cosmos DB では MongoDB ワイヤ プロトコルが実装されているので、既にある MongoDB のノウハウ、アプリケーション コード、ツールを活用できます。MongoDB compatibility: You can use your existing MongoDB expertise, application code, and tooling as Azure Cosmos DB implements the MongoDB wire protocol. MongoDB を使用してアプリケーションを開発し、グローバルに分散されたフル マネージドの Azure Cosmos DB サービスを使用して運用環境にデプロイできます。You can develop applications using MongoDB and deploy them to production using the fully managed, and globally distributed Azure Cosmos DB service. サポートされているバージョンについて詳しくは、「MongoDB のプロトコル サポート」をご覧ください。For more information on supported versions see MongoDB Protocol Support.

MongoDB 用の Azure Cosmos DB を使用するメリットWhat is the benefit of using Azure Cosmos DB for MongoDB applications?

スループットとストレージのスケールを柔軟に調整: アプリケーションのニーズに合わせて MongoDB データベースを簡単にスケールアップまたはスケールダウンできます。Elastically scalable throughput and storage: Meet your applications needs by easily scaling up or down your MongoDB database. データはソリッドステート ディスク (SSD) に格納されるため、予測可能かつ低いレイテンシが期待できます。Your data is stored on solid-state disks (SSD) for low predictable latencies. Azure Cosmos DB は、実質的に無制限のストレージ サイズとプロビジョニング スループットにスケーリングできる MongoDB コレクションをサポートしています。Azure Cosmos DB supports MongoDB collections that can scale to virtually unlimited storage sizes and provisioned throughput. アプリケーションの成長に合わせて Azure Cosmos DB のスケールを臨機応変に拡張し、予測したとおりのパフォーマンスをシームレスに確保することができます。You can elastically scale Azure Cosmos DB with predictable performance seamlessly as your application grows.

複数リージョンのレプリケーション: Azure Cosmos DB は、MongoDB アカウントに関連付けられているすべてのリージョンにデータを透過的にレプリケートします。これにより、整合性、可用性、パフォーマンスを所定のレベルで確保して、これらのトレードオフを実現しながら、データへのグローバル アクセスを必要とするアプリケーションを開発できます。Multi-region replication: Azure Cosmos DB transparently replicates your data to all regions you've associated with your MongoDB account, enabling you to develop applications that require global access to data while providing tradeoffs between consistency, availability, and performance, all with corresponding guarantees. Azure Cosmos DB は、マルチホーミング API を使用した透過的なリージョン内フェールオーバーを提供します。また、スループットとストレージを世界規模で弾力的にスケールすることもできます。Azure Cosmos DB provides transparent regional failover with multi-homing APIs, and the ability to elastically scale throughput and storage across the globe. 詳細については、データのグローバル分散に関するページを参照してください。Learn more in Distribute data globally.

サーバー管理が不要: MongoDB データベースは管理およびスケールが不要です。No server management: You don't have to manage and scale your MongoDB databases. Azure Cosmos DB はフル マネージドのサービスです。つまり、インフラストラクチャまたは仮想マシンを自分で管理する必要がありません。Azure Cosmos DB is a fully managed service, which means you do not have to manage any infrastructure or Virtual Machines yourself. Azure Cosmos DB は、30 を超える Azure リージョンで使用できます。Azure Cosmos DB is available in 30+ Azure Regions.

調整可能な整合性レベル: Azure Cosmos DB はマルチモデルの API をサポートしているので、一貫性設定をアカウント レベルに適用でき、一貫性の強制は API ごとに制御されます。Tunable consistency levels: Because Azure Cosmos DB supports multi-model APIs the consistency settings are applicable at the account level and enforcement of the consistency is controlled by each API. MongoDB 3.6 まではセッションの一貫性の概念がなかったため、セッションの一貫性を使用するために MongoDB API アカウントを設定すると、MongoDB API を使用したときに一貫性が Eventual にダウングレードされます。Until MongoDB 3.6, there was no concept of a session consistency, so if you set a MongoDB API account to use session consistency, the consistency is downgraded to eventual when using MongoDB APIs. MongoDB API アカウントに read-your-own-write (RYOW) の保証が必要な場合、アカウントの既定の一貫性レベルは Strong または Bounded Stateless に設定する必要があります。If you need a read-your-own-write guarantee for a MongoDB API account, the default consistency level for the account should be set to strong or bounded staleness. 詳細については、整合性レベルを使用して可用性とパフォーマンスを最大化する方法に関するページを参照してください。Learn more in Using consistency levels to maximize availability and performance.

Azure Cosmos DB の既定の一貫性レベルAzure Cosmos DB Default Consistency Level Mongo API (3.4)Mongo API (3.4)
EventualEventual EventualEventual
一貫性のあるプレフィックスConsistent Prefix 一貫性のある順序の EventualEventual with consistent order
SessionSession 一貫性のある順序の EventualEventual with consistent order
Bounded StalenessBounded Staleness StrongStrong
StrongStrong StrongStrong

自動インデックス作成: 既定では、Azure Cosmos DB は MongoDB データベースのドキュメント内のすべてのプロパティのインデックスを自動的に作成するので、スキーマや、セカンダリ インデックスの作成は不要です。Automatic indexing: By default, Azure Cosmos DB automatically indexes all the properties within documents in your MongoDB database and does not expect or require any schema or creation of secondary indices. また、Azure Cosmos DB では、一意なインデックスの機能により、既に自動でインデックスが作成されているドキュメントの任意のフィールドに対して一意性制約を設定することができます。In addition, the unique index capability enables a uniqueness constraint on any document fields that are already auto-indexed in Azure Cosmos DB.

エンタープライズ グレード: Azure Cosmos DB では、ローカルとリージョンで障害が発生した場合に 99.99% の可用性とデータ保護を実現する、複数のローカル レプリカがサポートされます。Enterprise grade: Azure Cosmos DB supports multiple local replicas to deliver 99.99% availability and data protection in the face of local and regional failures. Azure Cosmos DB には、エンタープライズ グレードのコンプライアンス認定とセキュリティ機能があります。Azure Cosmos DB has enterprise grade compliance certifications and security features.

ファースト ステップHow to get started

MongoDB のクイックスタートに従って、Azure Cosmos DB アカウントを作成し、Azure Cosmos DB を使用するために既存の MongoDB アプリケーションを移行するか、新しいアプリケーションを構築します。Follow the MongoDB quickstarts to create an Azure Cosmos DB account and migrate your existing MongoDB application to use Azure Cosmos DB, or build a new one:

次の手順Next steps

Azure Cosmos DB の MongoDB API に関する情報は、Azure Cosmos DB ドキュメント全体に組み込まれていますが、開始するためのいくつかのヒントを次に示します。Information about the Azure Cosmos DB MongoDB API is integrated into the overall Azure Cosmos DB documentation, but here are a few pointers to get you started: