コンテンツへスキップ
uencoder

BSON ObjectId

BSON ObjectId は MongoDB の 12 バイトのデフォルト主キーであり、タイムスタンプ、マシン識別子、プロセス ID、カウンタを含み、グローバルに一意で概ね時系列に整列する。

目的

MongoDB ドキュメントに、中央の採番器を必要とせず概ね時系列に並ぶ分散安全な自動採番風の主キーを与え、インデックスにも有利に働く。

メカニズム

12 バイトの内訳は、4 バイトのタイムスタンプ(秒)、5 バイトのランダムなマシン識別子、3 バイトのカウンタである。先頭 4 バイトにより、ObjectId は生成時刻で概ね整列する。

ユースケース

  • MongoDB のドキュメント主キー
  • 分散環境でのユニーク ID
  • 概ね順序付きの ID

関連ツール

References