单个 MongoDB 服务器可以生成多少个唯一的 ID?

3
我现在对于MongoDB为单个服务器生成多少个唯一ID感到有些困惑。
当然,如果有多个服务器,id对象中的服务器部分会发生变化,但是对于单个服务器来说,似乎只有pid部分(2位数字)和递增部分(4位数字)会发生变化。请纠正我,如果我理解有误的话。
仅有6个看起来是十六进制的数字发生变化,我非常确定单个服务器只有16,777,216种可能的组合。
我提出这个问题的原因是因为我在考虑使用MongoDB存储数十亿个唯一记录,并且数量将不断增长。
对于这种工作使用MongoDB是否安全?如果我犯了任何数学错误或逻辑错误,请见谅。
谢谢!
1个回答

4

你应该是安全的。如果你让MongoDB自己生成id,它将生成一个12字节值,其中4个字节是自纪元以来的秒数,3个字节是计数器。这足以支持每个服务器超过7.20 * 10^16(即2^(7*8))个文档和/或每秒每个服务器1600万(即2^(3*8))个文档。


非常感谢您的帮助!在这种情况下,我怀疑我永远不会用完唯一的ID。;) - Jonathan Chan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接