MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

Mongodb - harus _id unik secara global saat melakukan sharding

Kecuali Anda menggantinya secara manual, _id yang dibuat secara otomatis adalah UUID yang, menurut dokumentasi , terdiri dari "stempel waktu 4 byte (detik sejak epoch), id mesin 3 byte, id proses 2 byte, dan penghitung 3 byte".

Seperti yang Anda lihat, ID mesin unik adalah bagian dari UUID. Itu memastikan bahwa tidak ada dua mesin di shard yang pernah membuat UUID yang sama secara independen (kecuali mereka memiliki id mesin yang sama - kemungkinannya adalah 1:16777215 dan ketika itu terjadi dapat dengan mudah diverifikasi). Satu-satunya situasi di mana Anda secara teoritis dapat memiliki UUID duplikat adalah ketika satu proses membuat lebih dari 2^24 (lebih dari 16 juta) UUID dalam satu detik.

tl;dr: Anda tidak perlu khawatir tentang duplikat UUID - seperti yang dinyatakan dalam dokumentasi, "dirancang untuk memiliki kemungkinan unik yang cukup tinggi ketika dialokasikan".




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Kerangka agregasi Mongo:berapa level kunci dari operasi $out tahap terakhir?

  2. Mengubah isodate menjadi nilai numerik

  3. injeksi mongoDB

  4. Apakah aman menghapus file jurnal mongodb?

  5. MongoDB-Escape dot '.' di kunci peta]