🌐 ID

🆔 UUID Generator

Buat Universally Unique Identifiers (UUID). Ciptakan UUID standar untuk kunci database, token API, ID sesi, dan lainnya.

Info Versi

v1 (Berdasarkan Stempel Waktu)
Berdasarkan alamat MAC dan stempel waktu. Berurutan berdasarkan waktu.
v4 (Acak)
Sepenuhnya acak. Paling umum digunakan.
v7 (Dapat Diurutkan Berdasarkan Stempel Waktu)
Dapat diurutkan berdasarkan stempel waktu. Standar terbaru.
PANDUAN

Pelajari lebih lanjut

01

1. Apa itu UUID?

UUID (Universally Unique Identifier) adalah pengenal 128-bit yang menjamin keunikan tanpa koordinasi terpusat. Direpresentasikan sebagai heksadesimal dalam format 8-4-4-4-12 (misalnya, 550e8400-e29b-41d4-a716-446655440000), sehingga peluang duplikat sangat kecil saat dibuat di mana pun di dunia. Digunakan pada primary key database, ID sesi, nama file, token API, dan lainnya. Juga disebut GUID (Globally Unique Identifier), yang didefinisikan oleh standar RFC 4122.

02

2. Perbandingan Versi UUID

Ada 5 versi UUID, masing-masing menggunakan metode pembuatan yang berbeda. v1 menggabungkan alamat MAC dan stempel waktu untuk memastikan urutan waktu, tetapi memiliki risiko keamanan karena alamat MAC dapat terungkap. v4 sepenuhnya acak, paling banyak digunakan dengan tingkat ketidakpastian yang tinggi. v7 adalah versi terbaru yang distandarkan pada 2024, dapat diurutkan berdasarkan stempel waktu dan menguntungkan untuk pengindeksan database. v2 digunakan untuk keamanan DCE, sedangkan v3/v5 berbasis namespace untuk kebutuhan khusus.

03

3. Use Case UUID

UUID berguna dalam berbagai situasi. Dalam sistem terdistribusi, ID unik dapat dibuat tanpa server pusat, sehingga skalabilitasnya sangat baik. Dalam database, penggunaan UUID sebagai primary key alih-alih ID auto-increment membantu menghindari konflik saat penggabungan data. Dalam arsitektur microservice, UUID digunakan untuk melacak komunikasi antar layanan. Juga banyak dipakai untuk mencegah bentrokan nama file saat upload, pembuatan token sementara, pelacakan event, dan analisis korelasi log.

04

4. Memilih v1 vs v4 vs v7

Pemilihan versi UUID bergantung pada kebutuhan. Pilih v1 jika urutan waktu penting dan paparan alamat MAC dapat diterima. Namun, alamat MAC memungkinkan pelacakan lokasi pembuatan, sehingga menimbulkan kekhawatiran privasi. v4 adalah pilihan terbaik jika keamanan penting dan pengurutan tidak diperlukan. Sepenuhnya acak, tak dapat ditebak, tanpa paparan informasi pribadi. v7 direkomendasikan jika Anda menginginkan pengurutan waktu sekaligus keamanan. Pengurutan berbasis stempel waktu memberikan performa database yang baik dan fragmentasi indeks yang lebih rendah.

05

5. Jaminan Keunikan UUID

Probabilitas tabrakan UUID sangat kecil. Untuk v4, 122 bit bersifat acak, sehingga menyediakan 2^122 = 5.3 x 10^36 kemungkinan kombinasi. Bahkan jika menghasilkan 1 miliar per detik, butuh 85 tahun untuk mencapai probabilitas tabrakan 50%. v1 menjamin keunikan berbasis waktu dengan stempel waktu (60 bit) dan clock sequence (14 bit), serta keunikan berbasis ruang dengan alamat MAC (48 bit). v7 menggabungkan Unix timestamp (48 bit) dan random (74 bit) untuk memenuhi pengurutan waktu sekaligus keunikan.

06

6. Menggunakan UUID di Database

Menggunakan UUID sebagai primary key database memiliki beberapa keunggulan. Di lingkungan terdistribusi, setiap node dapat membuat ID secara mandiri tanpa generator ID pusat, sehingga skalabilitasnya sangat baik. Tidak ada konflik ID saat penggabungan data, dan tebakan berurutan tidak mungkin dilakukan ketika ditampilkan di URL, sehingga memberi keuntungan keamanan. Namun, ada kekurangannya. Ukurannya 16 byte, lebih besar dari integer (4-8 byte), dan keacakan v4 dapat menurunkan performa indeks. Dalam kasus seperti itu, menggunakan v7 dengan pengurutan berurutan waktu akan meningkatkan performa indeks B-tree.

Pertanyaan umum

Haruskah saya memilih UUID v1, v4, atau v7?
Pilih v4 jika keamanan penting dan pengurutan tidak dibutuhkan, atau v7 jika Anda ingin pengurutan berbasis waktu dan performa indeks database yang lebih baik. v1 mengekspos alamat MAC, sehingga menimbulkan kekhawatiran privasi, jadi tidak disarankan kecuali Anda punya kebutuhan khusus.
Apakah ada kemungkinan UUID bertabrakan?
Dengan v4, ada 2^122 kemungkinan kombinasi — bahkan jika menghasilkan 1 miliar per detik, butuh 85 tahun untuk mencapai probabilitas tabrakan 50%. Dalam praktiknya, tabrakan bukan masalah nyata.
Bisakah saya membuat beberapa UUID sekaligus?
Ya, Anda dapat menentukan jumlahnya dan membuat hingga 100 sekaligus, lalu gunakan "Copy All" untuk menyalinnya bersama-sama.
Bisakah saya menggunakan UUID sebagai primary key database?
Ya. Ini memungkinkan sistem terdistribusi membuat ID unik tanpa koordinasi terpusat, meskipun keacakan v4 dapat menyebabkan fragmentasi indeks - gunakan v7 jika Anda memerlukan pengurutan berurutan waktu.
Apakah UUID dan GUID itu sama?
Ya, GUID (Globally Unique Identifier) adalah nama Microsoft untuk konsep yang pada dasarnya sama, dan keduanya mengikuti standar RFC 4122.