1. ホーム
  2. azure

Azure Cosmos DB - パーティションキーを理解する

2023-11-05 01:54:18

質問

最初の Azure Cosmos DB をセットアップしています。最初のコレクションに、SQL Server データベースの 1 つのテーブルからデータをインポートする予定です。 コレクションをセットアップする際に、この最初のコレクションをセットアップする際に特に名前を付けなければならないパーティション キーの周りの意味と要件を理解するのに苦労しています。

私はここでドキュメントを読みました。( https://docs.microsoft.com/en-us/azure/cosmos-db/documentdb-partition-data ) を読みましたが、このパーティション キーの命名規則についてどのように進めていけばよいのか、まだよくわかりません。

どなたか、このパーティション キーの命名について、どのように考えればよいのか、教えていただけないでしょうか。 私が記入しようとしているフィールドについては、以下のスクリーンショットを参照してください。

私がインポートするテーブルは、一意の主キー、構造化されていないテキストの列、URLの列、およびそのレコードのURLのための他のいくつかの二次識別子を含む7つの列で構成されています。 これらの情報のいずれかが、パーティション キーにどのように名前を付けるべきかということと関係があるかどうかはわかりません。

EDIT: @Porschiey からのリクエストにより、インポートしているテーブルからいくつかのレコードのスクリーンショットを追加しました。

どのように解決するのですか?

正直に言うと ビデオはこちら * は、CosmosDbのパーティショニングを理解する上で、非常に大きな助けとなりました。

でも、簡単に言うと PartitionKeyは が存在することになります。 であり、類似したオブジェクトをグループ化するのに最適なプロパティです。

良い例としては、場所 (都市など)、顧客 ID、チーム、およびその他があります。当然ながら、それはソリューションに大きく依存します。したがって、オブジェクトがどのようなものか投稿していただければ、良いパーティション キーをお勧めできるかもしれません。

EDIT: 10GB 未満のコレクションでは、PartitionKey は必要ないことに留意してください。(David Makogon に感謝します)。


* ビデオ で使用されていた この MS ドキュメント ページ Azure Cosmos DB のパーティショニングと水平スケーリング」と題されたページがありましたが、現在は削除されています。直接のリンクは上記で提供されています。