サポートされている API を調べる

完了

Azure Cosmos DB には、次のような複数のデータベース API が用意されています。

  • NoSQL 用 Azure Cosmos DB
  • Azure Cosmos DB for MongoDB
  • PostgreSQL 用 Azure Cosmos DB
  • Azure Cosmos DB for Apache Cassandra
  • Azure Cosmos DB for Table
  • Azure Cosmos DB for Apache Gremlin

これらの API を使用することで、ドキュメント、キー値、グラフ、および列ファミリのデータ モデルを使って実世界のデータをモデル化できます。 これらの API を使用すると、アプリケーションでは、他のさまざまなデータベース テクノロジと同様に Azure Cosmos DB を扱うことができ、管理のオーバーヘッドやスケーリング アプローチが不要になります。

API 選択時の考慮事項

NoSQL 用 API は Azure Cosmos DB にネイティブなものです。

MongoDB、PostgreSQL、Cassandra、Gremlin、Table 用の API では、オープンソース データベース エンジンのワイヤ プロトコルが実装されます。 これらの API は、次の条件が満たされている場合に最適です。

  • 既存の MongoDB、PostgreSQL Cassandra、または Gremlin アプリケーションがある場合
  • データ アクセス層全体を書き直す必要がない場合
  • オープンソースの開発者エコシステム、クライアント ドライバー、専門知識、データベースのリソースを使用する場合

NoSQL 用 API

Azure Cosmos DB API for NoSQL では、データをドキュメント形式で格納します。 インターフェイス、サービス、SDK クライアント ライブラリを完全に制御できるため、最適なエンドツーエンド エクスペリエンスが提供されます。 Azure Cosmos DB にロールアウトされた新機能は、NoSQL 用 API アカウントで最初に使用できるようになります。 NoSQL アカウントでは、構造化照会言語 (SQL) 構文を使用した項目のクエリがサポートされています。

MongoDB 用 API

Azure Cosmos DB の MongoDB 用 API では、BSON 形式を使用してドキュメント構造にデータを格納します。 MongoDB ワイヤ プロトコルと互換性がありますが、ネイティブ MongoDB に関するコードは使用されません。 MongoDB 用 API は、Azure Cosmos DB の機能の使用を妥協することなく、より広範な MongoDB エコシステムとスキルを使用する場合に最適です。

PostgreSQL 用 API

Azure Cosmos DB for PostgreSQL は、Citus オープンソースの強力な分散テーブルを使用して、PostgreSQL を任意のスケールで実行するためのマネージド サービスです。 単一のノードにデータを格納する構成も、マルチノード構成で分散することも可能です。

Apache Cassandra 用 API

Azure Cosmos DB の Cassandra 用 API では、列指向スキーマにデータを格納します。 Apache Cassandra では、列指向スキーマに対する柔軟なアプローチを提供しながら、大量のデータを格納するための高度な分散型水平方向スケーリング アプローチを提供します。 Azure Cosmos DB の Cassandra 用 API は、分散 NoSQL データベースに取り組むこの哲学と一致します。 この Cassandra 用 API は、ネイティブな Apache Cassandra と互換性のあるワイヤ プロトコルです。

Apache Gremlin 用 API

Azure Cosmos DB の Gremlin 用 API を使用すると、ユーザーはグラフ クエリを作成できるようになり、データはエッジと頂点として格納されます。

Gremlin 用 API は、次のシナリオで使用します。

  • 動的データが含まれる
  • 複雑な関係を持つデータが含まれる
  • リレーショナル データベースでモデル化するには複雑すぎるデータが含まれる
  • Gremlin の既存のエコシステムとスキルを使用する場合

Table 用 API

Azure Cosmos DB の Table 用 API では、データをキー/値形式で格納します。 現在、Azure Table Storage を使用している場合は、待機時間、スケーリング、スループット、グローバル配布、インデックス管理、低クエリ パフォーマンスにいくつかの制限がある可能性があります。 Table 用 API によってこれらの制限が克服されます。Azure Cosmos DB のベネフィットを活用する場合は、アプリを移行することをお勧めします。 Table 用 API でサポートされているのは、OLTP シナリオのみです。