UUID Oluşturucu
Rastgele UUID (v4) / GUID değerleri oluşturun. Tek tıkla kopyalayın.
UUID (GUID) Nedir ve Neden Benzersizdir?
UUID (Universally Unique Identifier), Türkçesiyle evrensel benzersiz kimlik, 128 bit uzunluğunda bir sayının insan tarafından okunabilir biçimde yazılmış halidir. Standart gösterimi 8-4-4-4-12 düzeninde, tireyle ayrılmış 32 onaltılık karakterden oluşur: 550e8400-e29b-41d4-a716-446655440000. Microsoft dünyasında aynı yapıya GUID (Globally Unique Identifier) denir; ikisi teknik olarak aynı şeydir.
Benzersizlik buradaki anahtar kelimedir. Bir v4 UUID'de rakamların büyük bölümü rastgele üretilir ve toplamda 2 üzeri 122 kadar farklı değer mümkündür. Bu sayı o kadar büyüktür ki, saniyede milyarlarca UUID üreten sistemlerde bile iki değerin çakışma ihtimali pratikte sıfır kabul edilir. Bu yüzden merkezî bir sayaç ya da veritabanına sorma olmadan, birbirinden habersiz sunucular aynı anda kimlik üretebilir ve yine de çakışma yaşanmaz.
UUID Sürümleri Arasındaki Fark
Standartta birden fazla sürüm tanımlıdır ve hepsi farklı mantıkla çalışır:
- v1: Zaman damgası ve cihazın ağ kartı adresini (MAC) temel alır. Sıralıdır ama üreten makine hakkında ipucu sızdırabilir.
- v4: Tamamen rastgeledir; en yaygın kullanılan sürüm budur. Bu araç v4 üretir.
- v5: Bir isim ve ad alanından (namespace) sabit bir karma (hash) ile türetilir; aynı girdi her zaman aynı UUID'yi verir.
Sürümü, üçüncü bölümün ilk karakterinden anlayabilirsiniz: yukarıdaki örnekte 41d4 ifadesindeki 4 rakamı, değerin v4 olduğunu gösterir.
Bu Araç Nasıl Kullanılır?
Kullanımı tek adımdır: sayfadaki üret düğmesine bastığınızda ekranda anında yeni bir v4 UUID belirir. Kopyala seçeneğiyle değeri panoya alıp doğrudan kodunuza, veritabanı kaydınıza ya da yapılandırma dosyanıza yapıştırabilirsiniz. Tekrar üret dediğinizde her seferinde bambaşka bir değer gelir; aynı UUID'yi ikinci kez görme ihtimaliniz yoktur. Üretim tamamen tarayıcınızda gerçekleşir, hiçbir değer sunucuya gönderilmez.
Gerçek Hayatta Nerede İşe Yarar?
UUID, otomatik artan sayısal kimliğin (1, 2, 3...) yetersiz kaldığı her yerde devreye girer:
- Dağıtık veritabanları: Farklı sunucular çevrimdışıyken bile kayıt oluşturup sonradan sorunsuz birleştirebilir.
- API ve oturum anahtarları: Tahmin edilmesi zor olduğu için, sıralı kimliklere göre daha güvenli referanslar sağlar.
- Dosya ve yükleme adları: Kullanıcıların yüklediği dosyalar çakışmasın diye adlandırmada kullanılır.
- Mikroservis izleme: Bir isteği baştan sona takip etmek için üretilen izleme kimlikleri genellikle UUID'dir.
Kaç Tane UUID Güvenle Üretilebilir?
Bir soru sık sorulur: "Bu kadar rastgele üretiyorsak, günün birinde aynısı tekrar çıkmaz mı?" Teoride mümkün, pratikte ise ihmal edilebilir. Kabaca 100 trilyon UUID ürettiğinizde bile, aralarında tek bir çift çakışma bulunma ihtimali milyarda bir mertebesindedir. Sıradan bir uygulamanın ömrü boyunca üreteceği kimlik sayısı bunun yanında devede kulaktır. Bu yüzden çakışma denetimi için ayrı bir sorgu yapmanıza gerek kalmaz; UUID'nin bütün cazibesi zaten tam olarak buradan, "sormadan üret" güvencesinden gelir. Yalnız bir uyarı: güvenilir bir üretim için değerlerin gerçek anlamda rastgele bir kaynaktan gelmesi gerekir. Zayıf ya da tahmin edilebilir bir rastgelelik kaynağı, bu güvenceyi zedeler.
UUID Kullanırken Dikkat Edilmesi Gerekenler
UUID her derde deva değildir. Metin olarak 36 karakter yer kapladığı için, çok büyük tablolarda 4 baytlık sayısal kimliğe göre daha fazla depolama ve dizin alanı tüketir. Rastgele v4 değerler sıralı olmadığından, ana anahtar olarak kullanıldığında bazı veritabanlarında ekleme performansını düşürebilir; bu durumda sıralı üreten türler tercih edilir. Ayrıca UUID benzersizliği sağlar, gizliliği değil — herkese açık bir bağlantıda kimlik olarak kullanacaksanız, yine de yetkilendirme kontrolü koymalısınız. Küçük ve tekil bir uygulamada basit bir sayaç çoğu zaman yeterlidir; UUID'nin asıl gücü, birden fazla bağımsız sistemin birlikte çalıştığı ölçekte ortaya çıkar.