Cosmos DBのMongoDB互換APIやCassandra互換API

このエントリは2019/12/18現在の情報に基づいています。将来の機能追加・変更に伴い、記載内容との乖離が発生する可能性があります。

Igniteならびにそれ以後の発表の通り、Azure Cosmos DBのMongoDB、Cassandraの互換APIにも追加機能が入った。

MongoDB

MongoDB 3.6対応

Cosmos DBアカウント作成時にバージョン選択ができるようになっており、3.6もしくは3.2を選択できる。

Cosmos DB for MongoDB APIのver. 3.6でサポートしている機能や構文は以下のドキュメントを参照。MongoDB 3.6で導入されたChange Streamもサポートしている。

Azure Cosmos DB の MongoDB (3.6 バージョン) 用 API: サポートされる機能と構文
https://docs.microsoft.com/ja-jp/azure/cosmos-db/mongodb-feature-support-36
Azure Cosmos DB’s API for MongoDB (3.6 version): supported features and syntax
https://docs.microsoft.com/en-us/azure/cosmos-db/mongodb-feature-support-36

新機能概要は以下のエントリを参照。

Azure Cosmos DB’s API for MongoDB now supports server version 3.6
https://devblogs.microsoft.com/cosmosdb/azure-cosmos-dbs-api-for-mongodb-now-supports-server-version-3-6/

Cassandra

Igniteでの発表ではないが、以下の2機能が追加された。

CassandraからのLive Data Migration (Private Preview)

オンプレミスもしくはIaaSで稼働しているApache CassandraのノードにAzure Cosmos Cassandra ConnectorというReplication Agentを入れて、データをCosmos DBに移送する、というしくみ。詳細は以下のエントリを参照。

Announcing Live Data Migration from Cassandra to Azure Cosmos DB
https://devblogs.microsoft.com/cosmosdb/announcing-live-data-migration-from-cassandra-to-azure-cosmos-db/

Change Feed

MongoDBと同様、Change Feedをサポートした。

Cassandra 用 Azure Cosmos DB API の変更フィード サポートは、Cassandra Query Language (CQL) のクエリ述語を通じて利用できます。 これらの述語条件を使用して、フィード変更 API に対してクエリを実行できます。 アプリケーションでは、CQL で必要とされる主キー (パーティション キーとも呼ばれます) を使用して、テーブルへの変更を取得できます。 その後、結果に基づいてさらにアクションを実行できます。 テーブルの行に加えた変更は、変更時刻順でキャプチャされ、並べ替え順序はパーティション キーごとに保証されます。

Cassandra 用 Azure Cosmos DB API でフィードを変更する
https://docs.microsoft.com/ja-jp/azure/cosmos-db/cassandra-change-feed

Cassandraの場合、Cassandraの変更フィードは、Cassandra APIがページング状態を維持するプルモデルを使用する。Cassandraクライアントは、SELECTステートメントと以前のページング状態を使って、次回の変更バッチを取得できる。

Azure Cosmos DB の変更フィード – 概要
https://docs.microsoft.com/ja-jp/azure/cosmos-db/change-feed
Change feed in Azure Cosmos DB – overview
https://docs.microsoft.com/en-us/azure/cosmos-db/change-feed

2019/12/18時点では、論理パーティションキー(プライマリキー)ごと、またはコンテナ全体の変更フィードをサポートしている(将来機能が追加される可能性あり)。大規模な実装の場合、パーティション間で並行して変更フィードを構成・利用すべきである。

Cassandra 用 Azure Cosmos DB API でフィードを変更する
https://docs.microsoft.com/ja-jp/azure/cosmos-db/cassandra-change-feed
Change feed in the Azure Cosmos DB API for Cassandra
https://docs.microsoft.com/en-us/azure/cosmos-db/cassandra-change-feed

Azure Cosmos DB の Cassandra API でサポートされる Apache Cassandra の機能
https://docs.microsoft.com/ja-jp/azure/cosmos-db/cassandra-support
Apache Cassandra features supported by Azure Cosmos DB Cassandra API
https://docs.microsoft.com/en-us/azure/cosmos-db/cassandra-support

詳しくは以下のエントリを参照。

Announcing: Change Feed support for Azure Cosmos DB’s Cassandra API
https://devblogs.microsoft.com/cosmosdb/announcing-change-feed-support-for-azure-cosmos-dbs-cassandra-api/

注意点

FunctionsのBinndingでは、Core SQLのChange feedのみをサポートする。この制約は変わっていないことに注意。

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト /  変更 )

Google フォト

Google アカウントを使ってコメントしています。 ログアウト /  変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト /  変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト /  変更 )

%s と連携中