UUID v8 là gì?
Một UUID v8 giữ nguyên bit phiên bản và biến thể của định dạng chuẩn, nhưng 122 bit còn lại do ứng dụng tự định nghĩa. Bạn có thể nhét vào đó bộ đếm, mã phân vùng, định danh thuê bao hoặc bất cứ thứ gì cần.
Trước v8, những định dạng như vậy phải mượn tạm v4 hoặc tự đặt một kiểu dữ liệu riêng. RFC 9562 hợp thức hóa chúng, nhờ đó vẫn tương thích với mọi công cụ và cột dữ liệu hiểu UUID.
Cách sử dụng
- Chọn số lượng UUID cần tạo.
- Bật chữ hoa hoặc ngoặc nhọn nếu hệ thống yêu cầu.
- Bấm Tạo; mỗi giá trị đều hợp lệ theo RFC 9562.
Dùng để làm gì
- Định danh cần mang siêu dữ liệu ngay trong giá trị.
- Định dạng nội bộ mà bạn muốn vẫn trông và hành xử như UUID.
- Thử nghiệm bố cục bit mới trước khi chuẩn hóa.
UUID v8 đứng ở đâu
| Lựa chọn | Khi nào dùng |
|---|---|
v8 | Bố cục của bạn, đóng gói trong hình dạng UUID |
v7 | Nếu điều bạn cần chỉ là sắp theo thời gian, v7 có sẵn |
v4 | Nếu không cần mang thêm dữ liệu, v4 đơn giản hơn |
Các phiên bản UUID trong một bảng
| Phiên bản | Sắp xếp được | Dựa trên | Dùng cho |
|---|---|---|---|
| v1 | Không | Dấu thời gian + địa chỉ MAC | Hệ thống cũ vẫn còn phụ thuộc v1 |
| v3 | Không | Băm MD5 của một tên | Định danh tất định khi buộc phải dùng MD5 |
| v4 | Không | 122 bit ngẫu nhiên | Hầu hết mọi định danh thông dụng |
| v5 | Không | Băm SHA-1 của một tên | Khi cùng một tên phải luôn ra cùng một định danh |
| v6 | Có | Dấu thời gian đã đảo thứ tự | Định danh sắp xếp được mà vẫn giữ độ ngẫu nhiên |
| v7 | Có | Thời gian Unix theo mili giây | Khóa chính trong cơ sở dữ liệu và định danh sự kiện |
| v8 | Không | Bố cục bit của riêng bạn | Định dạng tùy biến hoặc thử nghiệm |
Cả bảy phiên bản đều dài 128 bit và được viết theo cùng dạng 8-4-4-4-12. Điều khác nhau chỉ là ý nghĩa của các bit.
Câu hỏi thường gặp
UUID v8 có phải là UUID hợp lệ không?
Có. RFC 9562 định nghĩa v8 chính thức, nên giá trị vẫn qua được mọi bộ kiểm tra UUID và lưu được vào cột kiểu uuid.
Khi nào nên dùng v8 thay vì tự đặt định dạng riêng?
Khi bạn muốn công cụ hiện có, thư viện và cột dữ liệu hiểu giá trị mà không phải viết thêm mã. Đổi lại, ý nghĩa các bit là do bạn quyết định nên phải tự tài liệu hóa.
v8 có rủi ro trùng lặp không?
Vì các bit do bạn chia, rủi ro phụ thuộc hoàn toàn vào thiết kế. Bố cục 122 bit ngẫu nhiên an toàn ngang v4; nếu chỉ dùng bộ đếm 32 bit thì khả năng trùng cao hơn hẳn.