MongoDB - 使用 12 字节字符串作为唯一标识符而不是增量值的优势

MongoDB - Advantage of using 12 bytes string as unique identifier instead of incremental value

MongoDB 生成 uuid 作为唯一标识符而不是增量值作为唯一标识符有什么具体原因吗?

递增的值或序列需要一个中心参考点,这是缩放的限制因素。 ObjectID 被设计为合理的唯一 ID,可以在分布式环境中独立生成,具有单调递增的值(前导时间戳组件)以进行近似排序。

ObjectID 通常由 MongoDB 驱动程序生成,因此无需进行服务器往返以查找下一个可用 _id 或等待服务器知道插入操作的结果_id 分配了什么。如果驱动程序或客户端应用程序插入文档时未包含 _id 值,则 mongod 服务器将生成一个 ObjectID。

在 MongoDB 中没有使用 ObjectID 的严格要求:如果您的数据有更自然的唯一键或者您更喜欢其他主键格式,您可以提供自己的 _id 值.