3.2MongoDB _id的组成

MongoDB对象ID被设计成全局唯一,这意味着它可以在特定的上下文里确保唯一。
最重要的4个字节包含着标准的Unix时间戳。后面3个字节是机器ID,紧跟着是2个字节的进程id。最后3个字节存储的是进程本地计数器,每次生成新ID就会自动增长。计数器可以保证同一个进程和同一个时刻内不会重复。
为什么对象ID有这种格式?很重要的原因是ID在驱动里生成的,而不是服务器上生成。这与许多RDBMS系统不同。关系型数据在服务器端自增主键,因此导致服务器成为生成主键的瓶颈。

浙公网安备 33010602011771号