MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Mongodb - phải _ phải là duy nhất trên toàn cầu khi sharding

Trừ khi bạn thay thế chúng theo cách thủ công, các _id được tạo tự động là UUID, theo tài liệu , bao gồm "dấu thời gian 4 byte (giây kể từ kỷ nguyên), id máy 3 byte, id quy trình 2 byte và bộ đếm 3 byte".

Như bạn có thể thấy, một ID máy duy nhất là một phần của UUID. Điều đó đảm bảo rằng không có hai máy nào trong phân đoạn tạo cùng một UUID một cách độc lập (trừ khi chúng có cùng id máy - khả năng xảy ra là 1:16777215 và khi điều đó xảy ra có thể dễ dàng xác minh). Tình huống duy nhất mà về mặt lý thuyết, bạn có thể có UUID bị trùng lặp là khi một quy trình duy nhất tạo ra hơn 2 ^ 24 (hơn 16 triệu) UUID trong một giây.

tl; dr: Bạn không phải lo lắng về các UUID trùng lặp - như tài liệu đã mô tả, chúng "được thiết kế để có xác suất cao hợp lý là duy nhất khi được cấp phát".




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Lỗi lựa chọn máy chủ docker và mongo-go-driver

  2. Làm cách nào để xác định các phương thức trong mô hình Mongoose?

  3. Làm cách nào để tính giá trị trung bình có trọng số trong mongoDB bằng cách sử dụng khung tổng hợp?

  4. Làm cách nào để đếm số lần xuất hiện của mỗi giá trị trong mảng?

  5. Chuyển đổi giá trị boolean với mongoDB