DP420-MOD#1
Azure Cosmos DB for NoSQL でコンテナーのパーティション キーを選定するとき、最も重視すべき特性として正しいものはどれですか?
解説
【正解: D】の理由
良いパーティション キーは、取り得る値の種類が多い高カーディナリティの属性であることが重要です。値の種類が多いほど、データと要求 (RU/s の消費) を多数の論理パーティションへ均一に分散でき、ストレージやスループットが特定のパーティションに偏るのを防げます。これによりホット パーティションの発生を避け、コンテナー全体でスケールアウトを最大限に活かせます。加えて、パーティション キーの値は項目の作成後に変更できないため、頻繁に変化しない安定した属性を選ぶ必要があります。読み取りクエリのフィルター条件と一致させれば、単一パーティションで完結するクエリになり RU コストも抑えられます。1 つの論理パーティションには 20 GB の上限があるため、この点でも高カーディナリティが有利です。
【他選択肢が違う理由】
- A: パーティション キーの値は作成後に変更できないため、頻繁に更新されて値が変化する属性はキーとして不適切です。
- B: 取り得る値が 2〜3 種類しかない低カーディナリティでは、少数の論理パーティションに集中しホット パーティションを招きます。
- C: 全ドキュメントが同一値だと論理パーティションが 1 つになり、20 GB の論理パーティション上限に達してスケールできません。

コメント