Azure Cosmos DB for Table と Azure Table Storage を使用して開発する
適用対象: Table
Azure Cosmos DB for Table と Azure Table Storage によって、同じテーブル データ モデルが共有され、SDK を介して同じ create、delete、update、query 操作が公開されます。
Note
Azure Cosmos DB API for Table で "サーバーレス容量モード" が利用できるようになりました。 詳細については、Azure Cosmos DB サーバーレスに関する記事を参照してください。
現在 Azure Table Storage を使用している場合、Azure Cosmos DB for Table に移行することにより次のメリットが得られます。
特徴量 | Azure Table Storage | Azure Cosmos DB for Table |
---|---|---|
Latency | 高速だが、待ち時間の上限はなし。 | 読み取りと書き込みの待ち時間は 1 桁ミリ秒であり、世界中でスケールや場所を問わずに、99 パーセンタイルで <10 ミリ秒の読み取り待ち時間と <15 ミリ秒の書き込み待ち時間という裏付けがあります。 |
スループット | 可変スループット モデル。 テーブルには 1 秒あたりの操作回数が 20,000 回というスケーラビリティの制限あり。 | SLA によって保証された、テーブルごとの専用の予約済みスループットを備えた高いスケーラビリティ。 アカウントにはスループットの上限がなく、1 秒あたり >1, 000 万回の操作に対応 (プロビジョニングされたスループット モード)。 |
グローバル配信 | 高可用性のために 1 つの読み取り可能なセカンダリ読み取りリージョンをオプションで備えた単一リージョン。自動および手動のアカウント フェールオーバーをサポート。 | 1 から 30 超のリージョンにわたるターンキー グローバル分散。 いつでも、世界中どこにでも、サービスマネージド フェールオーバーと手動フェールオーバーを実行可能。 |
インデックス作成 | PartitionKey と RowKey に対するプライマリ インデックスのみ。 セカンダリ インデックスなし。 |
すべてのプロパティに対する自動および完全なインデックス作成。インデックス管理なし。 |
クエリ | クエリの実行では、プライマリ キーにインデックスを使用し、それ以外の場合はスキャンする。 | クエリは、クエリ時間の短縮のためにプロパティの自動インデックス作成を利用できる。 |
一貫性 | プライマリ リージョン内では厳密な整合性。 セカンダリ リージョン内では最終的な整合性。 | アプリケーションのニーズに基づいて、可用性、待ち時間、スループット、および整合性のトレードオフを行う明確に定義された 5 つの整合性レベル。 |
価格 | 使用量ベース。 | 使用量ベースとプロビジョニング済みの容量の両方のモードで使用できます。 |
SLA | 99.99% の可用性。 | すべての単一リージョンのアカウントとすべてのマルチリージョンのアカウントに対して緩やかな整合性で 99.99% の可用性 SLA、すべてのマルチリージョンのデータベース アカウントに 99.999% の読み取り可用性、一般公開に対する業界トップレベルの包括的な SLA。 |
Azure SDK
現在のリリース
次の SDK パッケージは、Azure Cosmos DB for Table と Table Storage の両方で機能します。
以前のリリース
次の SDK パッケージは、Azure Cosmos DB for Table でのみ動作します。
.NET NuGet で入手できる Azure.Data.Tables。 Azure Tables クライアント ライブラリは、コードを変更しない Table Storage または Azure Cosmos DB for Table サービス エンドポイントをシームレスにターゲットにすることができます。
Python。 PyPi から入手できる azure-cosmosdb-table。 この SDK は、Table Storage と Azure Cosmos DB for Table の両方に接続します。
JavaScript/TypeScript。 npm.js で入手できる azure-storage パッケージ。 この Azure Storage SDK には、Table 用 API を使用して Azure Cosmos DB アカウントに接続する機能があります。
Java. Maven の Java 用 Microsoft Azure Storage Client SDK。 この Azure Storage SDK には、Table 用 API を使用して Azure Cosmos DB アカウントに接続する機能があります。
C++。 C++ 用 Azure Storage クライアント ライブラリ。 このライブラリでは、Azure Storage 用のアプリケーションを作成できます。
Ruby. Ruby 用 Azure Storage Table クライアント ライブラリ。 このプロジェクトは、Azure Table Storage service に間単にアクセスできる Ruby パッケージを提供します。
PHP. Azure Storage Table PHP クライアント ライブラリ。 このプロジェクトは、Azure Table Storage service に間単にアクセスできる PHP クライアント ライブラリを提供します。
PowerShell。 AzureRmStorageTable PowerShell モジュール。 この PowerShell モジュールには、ストレージ テーブルを使用するためのコマンドレットがあります。