Hướng dẫn công cụ
Về Trình tạo UUID
UUID v4 Generator tạo định danh 128-bit ngẫu nhiên cho yêu cầu ID, khóa database, dữ liệu test và correlation ID.
Công cụ hỗ trợ tạo hàng loạt, đổi uppercase, bỏ dấu gạch nối và có UUID v7 khi cần ID sắp xếp theo thời gian.
Cách dùng UUID v4 Generator
- Chọn UUID v4 cho định danh ngẫu nhiên, hoặc UUID v7 khi cần sắp xếp theo thời gian.
- Đặt số lượng trước khi tạo nếu cần batch cho fixture, seed data hoặc test thủ công.
- Chỉ bật uppercase khi hệ thống cũ yêu cầu; web và JSON thường dùng lowercase.
- Chỉ bỏ dấu gạch nối khi field hoặc protocol yêu cầu dạng compact 32 ký tự.
Khi nào nên dùng
- Tạo correlation ID cho API yêu cầu để nối log giữa nhiều dịch vụ.
- Tạo record test ổn định mà không phụ thuộc sequence database.
- Chuẩn bị placeholder ID cho mock JSON, ví dụ OpenAPI hoặc fixture giao diện.
- Dùng UUID v7 cho event hoặc audit record cần gần đúng thứ tự tạo.
Định dạng UUID và chi tiết thực tế
UUID chuẩn có 36 ký tự gồm dấu gạch nối, thường theo nhóm hex 8-4-4-4-12. UUID v4 là ngẫu nhiên; UUID v7 kết hợp timestamp và byte ngẫu nhiên.
- UUID v4: định danh ngẫu nhiên cho hầu hết application ID và yêu cầu ID.
- UUID v7: định danh có thứ tự thời gian, hữu ích cho index database và event.
- Không gạch nối: cùng giá trị 128-bit nhưng không có dấu phân tách.
- Chữ hoa/thường: thường biểu diễn cùng một giá trị hex.
Câu hỏi thường gặp về Trình tạo UUID
- UUID v4 có thật sự duy nhất không?
- Nó duy nhất theo xác suất. Với nguồn ngẫu nhiên an toàn, khả năng collision cực thấp trong ứng dụng thông thường.
- Khi nào dùng UUID v7?
- Khi muốn ID gần như sắp xếp theo thời gian tạo, đặc biệt cho log, event hoặc index database.
- UUID nên viết hoa hay thường?
- Lowercase là quy ước phổ biến trên web và JSON. Uppercase chủ yếu dành cho hệ thống yêu cầu.
- Có thể bỏ dấu gạch nối không?
- Có, giá trị tương đương. Nhưng nên giữ format chuẩn nếu API hoặc storage không yêu cầu ID compact.
- UUID tạo ra có gửi lên server không?
- Không. Việc tạo và format chạy cục bộ trong trình duyệt, không upload lên wetool.site.
UUID và auto-increment ID
Auto-increment ID ngắn nhưng cần sequence database trung tâm. UUID dài hơn, nhưng phù hợp client, queue và dịch vụ phân tán.
Khi nào nên dùng UUID v4
UUID v4 phù hợp khi IDs cần tạo offline, gộp giữa nhiều hệ thống hoặc public mà không lộ sequence. Nó không phải câu trả lời mặc định cho mọi ID.
- Dùng random UUIDs cho client-side temporary IDs, distributed task IDs, test fixtures và public share links.
- Với database primary keys cần index locality, hãy cân nhắc UUID v7, ULID hoặc database auto-increment IDs.
- Đừng coi UUID là ủy quyền token; khó đoán không đồng nghĩa kiểm soát truy cập.
Collision probability và randomness source
UUID v4 phụ thuộc vào high-quality randomness. Browser generators nên dùng Web Crypto level randomness, không dùng Math.random().
- UUID v4 chuẩn có khoảng 122 random bits, nên collision probability cực thấp với volume ứng dụng bình thường.
- Sau tạo hàng loạt, kiểm tra trùng lặp vẫn giúp phát hiện lỗi sao chép/dán hoặc lỗi tái sử dụng tập lệnh.
- UUID v4 không chứa time information; lưu created_at riêng hoặc dùng time-ordered ID nếu cần sorting/tracing theo thời gian.