Giới thiệu Tạo Mã UUID / GUID Ngẫu Nhiên (v1, v4) Online
UUID (Universally Unique Identifier) là gì?
UUID (hay còn gọi là GUID trong hệ sinh thái Microsoft) là một chuỗi ký tự định danh duy nhất toàn cầu có độ dài 36 ký tự (bao gồm cả dấu gạch ngang), với định dạng xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.
Nhiệm vụ của UUID là tạo ra một ID chắc chắn không bị trùng lặp mà không cần phải kết nối đến một hệ thống cơ sở dữ liệu tập trung (như Auto-Increment ID của MySQL).
Sự khác biệt giữa UUID Version 1 (Thời gian) và UUID Version 4 (Ngẫu nhiên)
- UUID v1 (Time-based): Tạo ID dựa trên sự kết hợp giữa thời gian hiện tại của máy tính (timestamp) và địa chỉ MAC vật lý của Card mạng. Do chứa địa chỉ MAC, v1 ít được dùng vì lo ngại rò rỉ quyền riêng tư về thiết bị sinh ra ID đó.
- UUID v4 (Random-based): Được sinh ra hoàn toàn ngẫu nhiên. Đây là phiên bản được sử dụng rộng rãi nhất trên thế giới hiện nay cho mọi ngôn ngữ lập trình.
Tại sao các Database hiện đại ưa chuộng UUID thay vì Auto-Increment ID?
Mặc dù khóa chính tự tăng (Auto-Increment 1, 2, 3...) ngắn gọn và dễ tìm kiếm hơn, nhưng UUID vượt trội ở các dự án lớn:
- Bảo mật kinh doanh: Đối thủ không thể cào dữ liệu (Crawling) bằng cách gọi API tăng dần ID
/users/1,/users/2. Họ cũng không đoán được bạn có bao nhiêu khách hàng. - Phân tán dữ liệu (Microservices/Sharding): Bạn có thể sinh UUID ngay tại Frontend hoặc trên nhiều Server Backend khác nhau cùng lúc mà không bao giờ lo xung đột (Conflict) khóa chính khi Insert vào Database.