gpt4 book ai didi

azure - 使用相同的PartitionKey和RowKey

转载 作者:行者123 更新时间:2023-12-03 17:44:28 29 4
gpt4 key购买 nike

我知道它有效,但我想知道这是使用与 PartitionKey 和 RowKey 相同的字符串的好习惯吗?

此场景适用于一个表,其中所有项目都是唯一的,Customer 表的每一行都包含有关一个客户的信息。

我的意思是,例如我将获得这个唯一的客户 ID,我想用它来通过 PartitionKey + RowKey 获取记录,这样返回将很快并且是一项。

你觉得怎么样?

最佳答案

这肯定会让您的客户快速查找。 RowKey 可以是空字符串,因此从技术上讲,如果您将为每个客户拥有唯一的分区,则不必使 PartitionKey 和 Rowkey 匹配。

这里需要注意一些事情:

  • 您将放弃批量添加客户或批量更新客户。由于只能批量处理同一分区中的实体,因此如果您有单个实体分区方案,则不会有批处理。鉴于您上面概述的内容,我认为这不会打扰您。
  • 针对partitionKey 的任何类型的范围查询(例如1 到200 之间的所有客户)最终可能会跨越多个分区服务器,从而导致查询效率非常低。再说一遍,如果您一次只查找一位客户而不是分组查找,那么应该没问题。可能需要考虑这样一种情况,您必须为系统中的每个客户添加一个属性,以及如果有必要,您将如何处理它(具有一组已知客户 ID 的多线程更新程序可能就可以了,但是你至少应该考虑一下)。
  • 尽量避免仅附加模式。这意味着如果您的客户 ID 是连续的,那么当您添加它们时,它们最初将位于同一分区服务器上。只有当其中一部分变热后,它们才会被转移到另一台服务器上。最好对 ID 进行哈希处理,并将其用作 PartitionKey,如果您开始真正对它们进行研究,这将导致它们更多地分散在多个分区服务器上。根据您的负载,您可能实际上看不到这一点。

查看 How to get most out of Windows Azure Tables有关选择分区键的文章。您会发现我在这里所说的大部分内容也在那里(我从中学到的地方之一)以及更多内容。

关于azure - 使用相同的PartitionKey和RowKey,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19671357/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com