English 中文(简体)
如何决定如何为科斯莫斯-亚银确定一个良好的分级关键
原标题:How to decide a good partition key for Azure Cosmos DB

I m New to Cosmos DB, 但我想对以下几个方面有深刻的了解:

  1. What is the partition key?

我的理解是,现在和现在都无法理解;具有相同分级钥匙的物项将进入同样的储存分级,这样可以在系统扩大时更好地平衡负荷。

  1. How to decide on a good partition key? Could somebody please provide an example?

感谢很多!

最佳回答

1. 导言 分离的关键是什么?

在Azure cosmos db中,有两个部分: Physical partitionlogical partition

A. 物理分离是固定数额的由SD支持的储存,加上可变资源。

B. 记录分门别类是一种分门别类,储存与单一分级关键值有关的所有数据。

我认为,你提到的分门别类钥匙是合乎逻辑的分治钥匙。 分割的关键是数据的合理分割,并为Cesmos DB提供自然边界,用于在物理分界线之间分配数据。 详情请上。 分配工作方式

2. 结 论 如何决定一个良好的分治关键? 有些人能否举一个例子?

你们需要考虑选择一个具有广泛价值甚至有出入模式的财产名称。 理想的分门槛钥匙是,在你的询问中经常作为过滤器出现,而且有足够的基本要素确保你的解决办法可以衡量。

例如,您的数据以<代码>id和color为标题,并询问了<代码>color作为更经常的过滤器。 您需要选取<代码>color,而不是id,用于分级钥匙,这对你的询问工作效率更高。 由于每个项目都有不同的<代码>id,但可能具有相同的<代码>color。 其范围很广。 另外,如果添加<代码>color,则分部分钥匙可以计算。

详情请见。 Partition and volume in Cosmos DB.

希望能帮助你们。

问题回答

你必须根据你的工作量选择分治。 它们可分为两类。

  • Read Heavy
  • Write Heavy

阅读繁重的工作量是,数据读得多于书面数据的情况,如产品目录,数据加添/更新频率较低,而浏览产品的人更多。

注销工作量是数据撰写量超过读数的。 常见的情况是,IoT装置从多个传感器发送了多种数据。 你将撰写大量数据给科斯莫斯开发银行,因为你可以每秒获得数据。

For read-heavy workload choose the partition key, where the property is used in the filter query. The product example will be the product id, which will be used mostly to fetch the data when the user wants to read the information and browse its reviews.

Write-heavyload 选择分级钥匙,在分级钥匙中,该财产为unique。 例如,在IoT Scenario,使用分辨率钥匙,如装置名称——签字时间,这正在加固发出信号的用具,而且信号的时间更独特。





相关问题
Problem with a recursive partition (number theory) function

Example: Let’s say your user input is 6. Then the number of sequences that sum up to 6 is 11 (including 6 itself). The problem I am having is that it works when the user enters 1 or 6, but if not it ...

Matlab partition problem

My head gets stucked finding an algorithm for my problem. Assume I have N Numbers (lets say 4) and I want have ALL X-Partitions (X = N/2) Example: 2-Partitions of {1,2,3,4} are: (1,2) (1,3) (1,4) (...

Partition line into equal parts

This is a geometry question. I have a line between two points A and B and want separate it into k equal parts. I need the coordinates of the points that partition the line between A and B. Any help ...

3D clustering Algorithm

Problem Statement: I have the following problem: There are more than a billion points in 3D space. The goal is to find the top N points which has largest number of neighbors within given distance R. ...

Quicksort / vector / partition issue

I have an issue with the following code : class quicksort { private: void _sort(double_it begin, double_it end) { if ( begin == end ) { return ; } double_it it = partition(begin, end, ...

热门标签