現在、Azure CosmosDBインフラストラクチャの上で実行されるマルチテナントのマルチドキュメントタイプのアプリケーションでMongoDBを使用して学習しています。CosmosDBインスタンスでmongodbのシャーディングを使用する方法
MSDNドキュメントのパーティションページ(つまりhttps://docs.microsoft.com/en-us/azure/cosmos-db/partition-data)は、DocumentDBを使用してCosmosと通信する場合のパーティション化戦略の実装方法を完全に説明していますが、使用時の処理方法MongoDB API。
私の考えは、基本的には、次のようになります。
- 単一のデータベース
シングルコレクション
どちらが安いの経験のためのコスモスモデルに自然にマッピングします。私はそれが最も安い選択肢であるため、標準サイズとして400 RUを目指しています。
それぞれが独自の(セキュリティ、ユーザー、パフォーマンスなどの)懸念事項を持つアプリケーションに分離されたテナントにマッピングされるTenantIDプロパティと簡単なフィルタリングを可能にするDocumentTypeプロパティを持つ複数のタイプのドキュメント。
DocumentDB APIを使用すると、TenantIDをPartitionKeyとして使用するのは当たり前のことです。 MongoDB APIを使ってAzureに任せることはできますか?私は何か「手動で」する必要がありますか?
私はC#APIを使用していますが、問題がある場合は設定が他の場所と似ていると想定しています。
「DocumentDB APIを使用すると、TenantIDをPartitionKeyとして使用するのは当たり前です。 MongoDB APIを使ってAzureに任せることはできますか?私は何か「手動で」するべきでしょうか?「複数のパーティションにあなたのデータを配布したいのですが(https://azure.microsoft.com/en-us/blog/documentdb-api-for-mongodb-now -generally-available /)を使用する場合は、コレクションを追加するときに** Shard Key **を指定する必要があります。 –