UUID v4 vs UUID v7 — Mana yang Harus Anda Gunakan?
UUID v7, yang distandardisasi dalam RFC 9562 (Mei 2024), mengatasi kelemahan utama UUID v4: performa indeks database yang buruk.
UUID v4 (Acak)
UUID v4 menggunakan 122 bit acak dan 6 bit tetap. Ini menjamin keunikan tanpa koordinasi tetapi menghasilkan ID yang tersebar secara acak sepanjang waktu. Saat digunakan sebagai primary key B-tree di database, ID acak menyebabkan page split dan fragmentasi indeks, menurunkan performa penulisan.
UUID v7 (Terurut Waktu)
UUID v7 menggunakan timestamp Unix milidetik 48-bit diikuti oleh bit acak. Awalan timestamp membuat UUID dapat diurutkan secara alami berdasarkan waktu pembuatan, menyelesaikan masalah fragmentasi B-tree. Kunci tetap unik secara global dan dapat dibuat tanpa koordinasi.
Perbandingan
| | UUID v4 | UUID v7 | |---|---------|---------| | Standar | RFC 9562 | RFC 9562 | | Dapat Diurutkan | Tidak | Ya (berdasarkan waktu) | | Performa DB | Buruk | Baik | | Unik | Ya | Ya | | Membocorkan timestamp | Tidak | Ya (presisi milidetik) |
Rekomendasi: Gunakan UUID v7 untuk primary key database dan UUID v4 saat Anda secara eksplisit tidak ingin mengungkapkan waktu pembuatan. Coba keduanya di generator UUID.