UUID Nedir ve Nasıl Çalışır
UUID (Universally Unique Identifier) RFC 9562'de (eski adıyla RFC 4122) tanımlanan standartlaştırılmış 128 bitlik bir tanımlayıcı formatıdır. Ana fikir, herhangi bir cihazda, herhangi bir zamanda, merkezi bir sunucu üzerinden benzersizlik kontrolü yapmaya gerek kalmadan benzersiz tanımlayıcılar oluşturabilmektir.
Yazım formatı
UUID, dört tire ile beş gruba ayrılmış 32 onaltılık karakter olarak yazılır: 8-4-4-4-12. Örneğin: 550e8400-e29b-41d4-a716-446655440000. 13. pozisyondaki karakter sürümü (1–7), dördüncü grubun ilk karakteri ise varyantı (standart UUID için 8, 9, a veya b) belirtir.
UUID v4 Neden En Popüler
UUID v4, kriptografik olarak güvenli bir rastgele sayı oluşturucu (CSPRNG) kullanır. 128 bitten 6'sı sürüm ve varyant için ayrılmıştır, geriye 122 bit entropi kalır. Bu, 5,3 × 10^36 olası kombinasyon demektir. UUID v4 zaman veya donanıma bağlı değildir, bu da oluşturma sürecinde tam anonimlik sağlar.
Veritabanlarında UUID
Birincil anahtar olarak UUID kullanmanın avantajları: farklı kaynaklardan gelen verilerin güvenli birleştirilmesi, istemci tarafında veritabanına sorgu yapmadan ID oluşturma imkânı, kayıt oluşturma sırası hakkında bilgi bulunmaması. Dezavantajları: daha büyük boyut (INT'in 4–8 baytına karşılık 16 bayt), v4 için indeks parçalanması. UUID v7, zaman ön eki sayesinde parçalanma sorununu çözer.
UUID v7 — Yeni Standart
RFC 9562'de (2024) standartlaştırılan UUID v7, UUID v1'in (kronolojik sıralama) ve v4'ün (rastgelelik) avantajlarını birleştirir. İlk 48 bit milisaniye cinsinden Unix zaman damgasıdır, geri kalanı rastgeledir. Bu, ekleme sırasının önemli olduğu veritabanlarında birincil anahtarlar için v7'yi ideal kılar.