Java MongoDb分片和字符串ID
我们正在开发一个需要使用字符串id作为mongodb id的应用程序。我的问题是:如果我们在mongodb上进行切分,字符串id会导致任何问题吗?否,它们可以/应该/将在切分之前进行散列。(这可能意味着在计算机电源方面会有一点成本)。不,它们可以/应该/将在切分之前进行散列。(这可能意味着在计算机电源方面会有轻微的成本)。这在很大程度上取决于字符串的内容。例如,姓氏通常是自动平衡的一个不好的切分键,因为在几乎所有语言中,姓氏开头字母的分布都不均匀。然而,这个问题可以通过解决,尽管在扩展时这需要相当多的知识和配置 字符串的散列已经提到,但我想补充一点,在这样做时,您可能会遇到地理分布数据中心的问题,因为如果您的id是(部分)组成的,您将无法再为其地理位置分配正确的id范围Java MongoDb分片和字符串ID,java,mongodb,sharding,morphia,Java,Mongodb,Sharding,Morphia,我们正在开发一个需要使用字符串id作为mongodb id的应用程序。我的问题是:如果我们在mongodb上进行切分,字符串id会导致任何问题吗?否,它们可以/应该/将在切分之前进行散列。(这可能意味着在计算机电源方面会有一点成本)。不,它们可以/应该/将在切分之前进行散列。(这可能意味着在计算机电源方面会有轻微的成本)。这在很大程度上取决于字符串的内容。例如,姓氏通常是自动平衡的一个不好的切分键,因为在几乎所有语言中,姓氏开头字母的分布都不均匀。然而,这个问题可以通过解决,尽管在扩展时这需要相
另一种解决方案可能是使用复合切分键。这在很大程度上取决于字符串的内容。例如,姓氏通常是自动平衡的一个不好的切分键,因为在几乎所有语言中,姓氏开头字母的分布都不均匀。然而,这个问题可以通过解决,尽管在扩展时这需要相当多的知识和配置 字符串的散列已经提到,但我想补充一点,在这样做时,您可能会遇到地理分布数据中心的问题,因为如果您的id是(部分)组成的,您将无法再为其地理位置分配正确的id范围
另一种解决方案可能是使用复合切分键。只有在创建散列键时,它们才会被散列index@Sammaye当然可以。我已经更正了我的答案,以便更具体地说明这一点。只有在创建哈希表时,才会对它们进行哈希index@Sammaye当然可以。关于这一点,我已经更正了我的答案。你能给我们举个字符串的例子吗?你能给我们举个字符串的例子吗?