MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Que signifie la documentation de MongoDB lorsqu'elle indique que les ObjectID sont probablement uniques ?

Deux raisons :

  1. Chaque ObjectId est généré localement sur le client. Les différents clients ne coordonnent pas les valeurs qu'ils génèrent. C'est donc possible qu'il y a deux clients qui génèrent les mêmes nombres aléatoires et généreraient donc exactement les mêmes ObjectIds. Très improbable mais possible, d'où la formulation "probablement unique".

  2. Algorithme de génération d'ObjectId spécifie l'utilisation d'un compteur de 3 octets qui est utilisé pour désambiguïser les valeurs générées dans la même seconde. Si vous générez plus de 16 millions d'ObjectIds dans la même seconde, ce compteur débordera et le client que vous utilisez commencera à générer des ObjectIds qu'il a déjà générés il y a un instant.