Azure Cosmos DB でのグローバルなデータの分散 - 概要Global data distribution with Azure Cosmos DB - overview

現在のアプリケーションには、優れた応答性と、常時接続が求められます。Today’s applications are required to be highly responsive and always online. 待機時間の短縮と高可用性を実現するには、これらのアプリケーションのインスタンスをそのユーザーの近くにあるデータ センターにデプロイする必要があります。To achieve low latency and high availability, instances of these applications need to be deployed in datacenters that are close to their users. これらのアプリケーションは、通常は複数のデータ センターにデプロイされ、グローバル分散型と呼ばれています。These applications are typically deployed in multiple datacenters and are called globally distributed. グローバル分散型アプリケーションには、アプリケーションでそのユーザーの近くにあるデータのコピーを操作できるようにするために、世界中のデータを透過的にレプリケートできる、グローバルに分散されたデータベースが必要です。Globally distributed applications need a globally distributed database that can transparently replicate the data anywhere in the world to enable the applications to operate on a copy of the data that's close to its users.

Azure Cosmos DB は、待機時間の短縮、スループットのエラスティックなスケーラビリティ、データの一貫性を保つための明確に定義されたセマンティクス、および高可用性を確保するように設計された、グローバル分散データベース サービスです。Azure Cosmos DB is a globally distributed database service that's designed to provide low latency, elastic scalability of throughput, well-defined semantics for data consistency, and high availability. つまり、世界のどの場所でも高速な応答時間を保証すること、常にオンラインであること、スループットとストレージのスケーラビリティが無制限でエラスティックなことがアプリケーションに求められる場合は、Azure Cosmos DB を使用してアプリケーションを構築してください。In short, if your application needs guaranteed fast response time anywhere in the world, if it's required to be always online, and needs unlimited and elastic scalability of throughput and storage, you should build your application on Azure Cosmos DB.

お客様は、そのデータベースを構成してグローバルに分散し、Azure リージョンのどこからでも利用できるようにできます。You can configure your databases to be globally distributed and available in any of the Azure regions. 待機時間を短縮するには、データをユーザーの所在地の近くに配置してください。To lower the latency, place the data close to where your users are. どのリージョンを選択するかは、アプリケーションのグローバル リーチと、ユーザーの所在地によって決まります。Choosing the required regions depends on the global reach of your application and where your users are located. Cosmos DB では、Cosmos アカウントに関連付けられている全リージョンに対して透過的にデータがレプリケートされます。Cosmos DB transparently replicates the data to all the regions associated with your Cosmos account. グローバルに分散された Azure Cosmos データベースとコンテナーの単一のシステム イメージが利用できるようになっており、アプリケーションからは、読み取りと書き込みをローカルに実行することができます。It provides a single system image of your globally distributed Azure Cosmos database and containers that your application can read and write to locally.

Azure Cosmos DB に関してご利用のアカウントに関連付けられるリージョンは、いつでも追加したり削除したりすることができます。With Azure Cosmos DB, you can add or remove the regions associated with your account at any time. リージョンの追加や削除のために、アプリケーションを一時停止したり再デプロイしたりする必要はありません。Your application doesn't need to be paused or redeployed to add or remove a region. サービスでネイティブに提供されるマルチホーム機能により、高い可用性が常に維持されます。It continues to be highly available all the time because of the multi-homing capabilities that the service natively provides.

高可用性デプロイ トポロジ

グローバル分散の主な利点Key benefits of global distribution

グローバルなアクティブ/アクティブ アプリの構築。Build global active-active apps. そのまったく新しいマルチマスター レプリケーション プロトコルにより、すべてのリージョンで書き込みと読み取りの両方がサポートされます。With its novel multi-master replication protocol, every region supports both writes and reads. マルチマスター機能には次の利点もあります。The multi-master capability also enables:

  • 無制限でエラスティックな書き込みと読み取りのスケーラビリティ。Unlimited elastic write and read scalability.
  • 全世界での 99.999% の読み取りおよび書き込みの可用性。99.999% read and write availability all around the world.
  • 99 パーセンタイルで 10 ミリ秒未満の処理性能が保証された読み取りと書き込み。Guaranteed reads and writes served in less than 10 milliseconds at the 99th percentile.

Azure Cosmos DB のマルチホーム API を使用すると、アプリケーションは最も近いリージョンを認識し、そのリージョンに要求を送信できます。By using the Azure Cosmos DB multi-homing APIs, your application is aware of the nearest region and can send requests to that region. 構成には一切変更を加えることなく、最も近いリージョンが特定されます。The nearest region is identified without any configuration changes. Azure Cosmos アカウントのリージョンを追加したり削除したりする際に、アプリケーションの再デプロイや一時停止を行う必要はなく、常に高可用性が維持されます。As you add and remove regions to and from your Azure Cosmos account, your application does not need to be redeployed or paused, it continues to be highly available at all times.

応答性に優れたアプリを構築できる。Build highly responsive apps. データベース用に選択したすべてのリージョンに対し、アプリケーションでほぼリアルタイムの読み取りと書き込みを実行できます。Your application can perform near real-time reads and writes against all the regions you chose for your database. Azure Cosmos DB は、選択された一貫性レベルを保証しながら、リージョン間のデータ レプリケーションを内部的に処理します。Azure Cosmos DB internally handles the data replication between regions with consistency level guarantees of the level you've selected.

可用性の高いアプリを構築する。Build highly available apps. 世界の複数のリージョンでデータベースを実行することで、データベースの可用性が向上します。Running a database in multiple regions worldwide increases the availability of a database. あるリージョンが利用できない状態になった場合は、自動的に他のリージョンによってアプリケーションの要求が処理されます。If one region is unavailable, other regions automatically handle application requests. 複数リージョンのデータベースを対象にした読み取りと書き込みに関して、Azure Cosmos DB は 99.999% の可用性を備えています。Azure Cosmos DB offers 99.999% read and write availability for multi-region databases.

リージョン障害時にビジネス継続性を維持する。Maintain business continuity during regional outages. Azure Cosmos DB では、リージョン障害時の自動フェールオーバーがサポートされています。Azure Cosmos DB supports automatic failover during a regional outage. リージョン障害時にも、Azure Cosmos DB では、その待機時間、可用性、一貫性、スループットの SLA が引き続き維持されます。During a regional outage, Azure Cosmos DB continues to maintain its latency, availability, consistency, and throughput SLAs. アプリケーション全体で高い可用性を確保できるように、Cosmos DB には、リージョン障害をシミュレートするための手動フェールオーバー API が用意されています。To help make sure that your entire application is highly available, Cosmos DB offers a manual failover API to simulate a regional outage. この API を使用することで、日常的なビジネス継続性の訓練を実施することができます。By using this API, you can carry out regular business continuity drills.

読み取りおよび書き込みのスループットのグローバルなスケーリング。Scale read and write throughput globally. すべてのリージョンを書き込み可能にして、読み取りと書き込みを世界規模でエラスティックにスケーリングできます。You can enable every region to be writable and elastically scale reads and writes all around the world. Azure Cosmos のデータベースまたはコンテナーに対してアプリケーションで構成したスループットが、Azure Cosmos アカウントに関連付けられているすべてのリージョンで実現されることが保証されます。The throughput that your application configures on an Azure Cosmos database or a container is guaranteed to be delivered across all regions associated with your Azure Cosmos account. プロビジョニング スループットは、金銭的な補償を伴う SLA によって保証されます。The provisioned throughput is guaranteed up by financially backed SLAs.

明確に定義された複数の一貫性モデルの中から選択する。Choose from several well-defined consistency models. Azure Cosmos DB のレプリケーション プロトコルでは、明確に定義された、実際的かつ直感的な 5 つの一貫性モデルが提供されています。The Azure Cosmos DB replication protocol offers five well-defined, practical, and intuitive consistency models. 各モデルには、一貫性とパフォーマンスのトレードオフがあります。Each model has a tradeoff between consistency and performance. これらの一貫性モデルを使用することで、グローバル分散アプリケーションを容易に構築することができます。Use these consistency models to build globally distributed applications with ease.

次のステップNext steps

以下の記事でグローバル分散の詳細についてご覧ください。Read more about global distribution in the following articles: