、私は戦略の疑問を持っています?例えば。 PartitionKey = CustomerIdのDocumentDbクロスパーティションのクエリ戦略
OR
B)文書は、まだ効率的に複数の(多くの)パーティションを横断するクエリを処理していますか?例えば。 PartitionKey =「のCustomerId +コンテキスト名+型名」
我々は現在、「A」は実施しているが、理由の記事の「B」を議論してきたことで、この引用符を持っています
持っていることがベストプラクティスです多くの別個の 値を持つパーティションキー(最低100〜1000秒)。
「少なくとも」を強調します。私たちのCustomerIdsは2〜3,000を超えるパーティションキーを生成するボリュームではありません。私たちは、1つのクエリが
SELECT * FROM c
WHERE(MyPartition = "1+ContextA+TypeA"
OR MyPartition = "1+ContextA+TypeB"
OR MyPartition = "1+ContextA+TypeC"
...)
AND <some other conditions>
記事にレイアウトされたシナリオがあると推定しているようです(特に「型ID」に加えIE)30-50パーティションを打つことを知って、それ(「B」)へのより多くの情報を追加する必要があります顧客またはユーザーはたくさんの鍵を生成します。これは私たちには当てはまりません。
Azureの詳細については、[document](https://azure.microsoft.com/en-us/blog/10-things-to-know-about-documentdb-partitioned-collections/)を参照してください。 documentDB。ドキュメントからは、同じパーティションにどのようなデータが格納されているか、正しいパーティションキーのプロパティを選択する方法を知ることができました。 –
@TomSun - リンクありがとうございます。私はその文書を読んだ。私は複数の方法で自分のデータを差別化することができます。私のクエリが単一のパーティションを対象とするように設計されているか、または複数のパーティションにわたりクエリがうまく機能するかという基本的な質問には答えられないようです。 – TBone