簡體   English   中英

Azure Cosmos DB集合的分區鍵

[英]Partition key for Azure Cosmos DB collection

我對Azure Cosmos DB有點陌生,並試圖理解這些概念。

我需要幫助來確定DocumentDB集合的最佳最佳分區鍵。 請參考下圖,其中可能有使用不同分區鍵的分區。

這個

由於在博客帖子中提到這里

理想的分區鍵是在查詢中經常作為過濾器出現的分區鍵,並且具有足夠的基數以確保您的解決方案可擴展。

從上面這一行,我認為,就我而言,UserId可以用作分區鍵。

有人可以建議我哪個密鑰是分區密鑰的最佳候選者嗎?

有關DocumentDB Partitioned Collections微型正式文檔10件事中 ,您可以找到很多有關選擇分區鍵的很好的建議,因此在此不再贅述。

分區鍵的選擇取決於數據庫中存儲的數據和頻繁查詢過濾條件。

通常建議對像userid這樣的東西進行分區,如果有的話,這是很好的。 假設您的業務邏輯對給定的userid有很多查詢,並且希望查找的條目不超過幾百個。 在這種情況下,可以從單個分區中快速提取數據,而不必在多個分區中整理數據。

但是,如果您有數百萬條user記錄,那么對userid進行分區可能是最糟糕的選擇,因為從單個分區中提取大量數據將很快超過整理的開銷。 在這種情況下,您希望在所有分區上盡可能均勻地分布用戶數據。 您可能需要找到另一列作為分區鍵。

因此,如果數據量很大,建議您根據業務邏輯進行一些簡單的測試,並為性能選擇最佳的分區鍵。 畢竟,分區密鑰一旦設置便無法更改。

希望對您有幫助。

這取決於,但是這里有幾件事情要考慮:

您提到的博客文章說:

此外,屬於相同分區鍵的文檔的存儲大小限制為10GB。 理想的分區鍵是在查詢中經常作為過濾器出現的分區鍵,並且具有足夠的基數以確保您的解決方案可擴展。

另外,我真的建議您查看這篇文章和視頻, https://docs.microsoft.com/zh-cn/azure/cosmos-db/partition-data

分區鍵的選擇是您在設計時必須做出的重要決定。 您必須選擇一個屬性值,該屬性值的范圍很廣,甚至具有訪問模式。

因此,請確保選擇具有許多值並滿足那些要求的分區鍵。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM