MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Was bedeutet die MongoDB-Dokumentation, wenn sie besagt, dass ObjectIDs wahrscheinlich eindeutig sind?

Zwei Gründe:

  1. Jede ObjectId wird lokal auf dem Client generiert. Die verschiedenen Kunden koordinieren die Werte, die sie generieren, nicht. Daher ist es möglich dass es zwei Clients gibt, die zufällig die gleichen Zufallszahlen generieren und somit genau die gleichen ObjectIds generieren würden. Äußerst unwahrscheinlich, aber möglich, daher „wahrscheinlich eindeutiger“ Wortlaut.

  2. ObjectId-Generierungsalgorithmus gibt die Verwendung eines 3-Byte-Zählers an, der verwendet wird, um die in derselben Sekunde generierten Werte eindeutig zu machen. Wenn Sie mehr als 16 Millionen ObjectIds in derselben Sekunde generieren, läuft dieser Zähler über und der Client, den Sie verwenden, beginnt mit der Generierung von ObjectIds, die er bereits vor einem Moment generiert hat.