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

时间:2010-07-10 07:00:05

标签: mongodb uniqueidentifier database

我现在很困惑MongoDB可以为单个服务器生成多少个唯一ID。

当然,对于多个服务器,其id对象的服务器部分也会改变,但是对于单个服务器,唯一会改变的部分似乎是pid部分(2位)和递增部分(4位)。如果我对此错了,请纠正我。

只有6个似乎是十六进制数字的变化,我很确定单个服务器只有16,777,216种可能的组合。

我问这个问题的原因是因为我正在考虑使用MongoDB来存储数十亿条独特记录,并且这个数字会不断增长。

将MongoDB用于此类工作是否安全?如果我犯了任何数学错误或逻辑错误,我很抱歉。

谢谢!

1 个答案:

答案 0 :(得分:3)

你应该安全。如果你让MongoDB本身生成id,它将生成一个12-byte value,其中4个字节是自纪元以来的秒,3个字节是计数器。这对于每台服务器超过7.20 * 10 ^ 16(即2 ^(7 * 8))个文件和/或每台服务器每秒1600万(即2 ^(3 * 8))就足够了。