gpt4 book ai didi

MongoDB 分片键

转载 作者:可可西里 更新时间:2023-11-01 09:52:53 26 4
gpt4 key购买 nike

我一直在考虑为我的数据选择最佳分片键(通过复合索引),并考虑将文档创建日期与客户编号相结合。 (或发票编号)将是一个很好的组合。如果 MongoDB 会将客户编号视为一个倒序的字符串,即:

90043 => 34009
90044 => 44009
90045 => 54009
etc.

创建日期的索引将确保相对较新的数据保留在内存中,而落后的客户将帮助 MongoDB 在集群中分配数据/负载。

这是一个正确的假设吗?如果是这样...我是否需要保留我的客户才能按我期望的方式进行分发?

最佳答案

关于您的具体问题“我是否需要保留我的客户以使其按我期望的方式分发?”,不 - 您不会。

即使您列出的客户编号值的范围相对较小,如果您在复合键中使用 customerNumber,MongoDB 也会将数据分解成 block 并相应地分发这些数据。只要与 customerNumber 关联的数据分布相对均匀(例如,一个用户不支配系统),您将获得所需的分片平衡。

我会考虑将您最初的选择(减去字符串反转)或 Dan 的选择(使用内置的 ObjectId 而不是时间戳)作为复合键的良好候选者。

关于MongoDB 分片键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13975854/

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