UUID (Universally Unique Identifier) dan GUID (Globally Unique Identifier) sering digunakan secara bergantian dalam percakapan teknis, dan untuk sebagian besar tujuan praktis, keduanya memang dapat dipertukarkan. GUID adalah istilah Microsoft untuk implementasi UUID mereka, yang mengikuti standar RFC 4122 yang sama. Perbedaannya sebagian besar bersifat historis dan terminologis, bukan teknis.
Memahami Berbagai Versi UUID
- UUIDv1: Berbasis waktu + alamat MAC — dapat dilacak kembali ke mesin yang menghasilkannya
- UUIDv3: Berbasis nama menggunakan MD5 — deterministik untuk input yang sama
- UUIDv4: Berbasis keacakan — paling banyak digunakan, tidak dapat diprediksi
- UUIDv5: Berbasis nama menggunakan SHA-1 — deterministik untuk input yang sama
- UUIDv7: Berbasis waktu monoton + keacakan — dapat diurutkan, cocok untuk kunci primer database
Kapan Menggunakan UUIDv4 vs UUIDv7
UUIDv4 adalah pilihan default yang baik untuk sebagian besar kasus penggunaan: token sesi, identifikasi API, dan ID yang tidak perlu diurutkan. UUIDv7 lebih cocok untuk kunci primer database karena sifatnya yang dapat diurutkan menghindari fragmentasi halaman B-tree yang terjadi dengan UUID acak — masalah performa signifikan dalam database besar. UUIDv7 distandarisasi dalam RFC 9562 (2024).
UUID vs ID Auto-Increment: Pilih yang Mana?
ID auto-increment (1, 2, 3...) lebih kecil, lebih mudah dibaca manusia, dan berperforma lebih baik dalam database terpusat. UUID diperlukan untuk sistem terdistribusi di mana beberapa server menghasilkan ID secara bersamaan, saat mengekspos ID di URL publik (UUID tidak mengekspos volume data seperti ID sekuensial), dan saat menggabungkan data dari beberapa database.