Nil UUID nedir?
Nil UUID tüm 128 bitin sıfır olduğu özel bir UUID biçimidir. Şu şekilde temsil edilir:
00000000-0000-0000-0000-000000000000
Nil UUID, RFC 4122'de tanımlanan UUID ekosisteminde özel bir ayrılmış değerdir. UUID gerektiğinde ancak uygun gerçek bir tanımlayıcı olmadığında "boş" veya "null" tanımlayıcı olarak özel anlamsal bir değere sahiptir.
Nil UUID nasıl çalışır
- Tüm 128 bitin sıfır olduğu önceden tanımlanmış bir sabittir
- Teknik olarak 8-4-4-4-12 deseninde tirelerle ayrılmış 32 onaltılık basamaklı UUID formatını takip eder
- Tüm bitler sıfır olduğu için sürüm veya varyant biti yoktur
- RFC 4122'de özel durum UUID olarak açıkça tanımlanmıştır
- UUID ile çalışan sistemlerde bekçi değeri veya yer tutucu olarak kullanılabilir
Avantajlar ve Dikkate Alınacaklar
Advantages | Considerations |
---|---|
|
|
Nil UUID Yapısı
Bits | Content |
---|---|
0-127 | Tüm sıfırlar (0x00000000000000000000000000000000) |
Belirli sürüm ve varyant bitlerine sahip standart UUID'lerin aksine, Nil UUID'de tüm bitler sıfırdır, normalde sürüm ve varyant bitleri olması gerekenler dahil.
Nil UUID ve diğer sürümler
Version | Dayandığı | Kullanım durumu | Uniqueness |
---|---|---|---|
Nil UUID | Sabit (tüm sıfırlar) | Özel değer, yer tutucu | ❌ Benzersiz değil (tasarım gereği) |
UUID v1 | Zaman + MAC | Zaman sıralı Kimlikler | ✅ Küresel olarak benzersiz |
UUID v3 | Ad alanı + MD5 | Deterministik Kimlikler | ✅ Girdi başına benzersiz |
UUID v4 | Random | Güvenli rastgele Kimlikler | ✅ İstatistiksel olarak benzersiz |
UUID v5 | Ad alanı + SHA-1 | Deterministik Kimlikler | ✅ Girdi başına benzersiz |
UUID v6 | Zaman (yeniden sıralanmış) | Sıralanabilir Kimlikler | ✅ Küresel olarak benzersiz |
UUID v7 | Zaman + rastgele | Sıralanabilir Kimlikler | ✅ Küresel olarak benzersiz |
Yaygın Kullanım Durumları
- Varsayılan değerler: Gerçek bir UUID atanana kadar başlangıç durumu
- Bekçi değerleri: UUID gerektiren sistemlerde özel işaretleyici
- Hata tespiti: Başlatılmamış veya eksik UUID göstergesi
- Veritabanı yer tutucuları: Gerçek bir UUID beklenirken veya uygulanabilir olmadığında
- Kök nesneler: Kökün ebeveyni olmadığı ebeveyn-çocuk ilişkileri
- Özel fonksiyonlar: İyi bilinen UUID değerine ihtiyaç duyan sistem işlemleri
- Testing: Test ortamlarında yer tutucu değer
Sıkça Sorulan Sorular
Nil UUID geçerli bir UUID midir?
Evet. Nil UUID, RFC 4122'de özel durum UUID olarak açıkça tanımlanmıştır. Normal sürüm/varyant kurallarına uymasa da, özel anlamsal değere sahip tanınmış bir UUID değeridir.
Nil UUID'yi tanımlayıcı olarak kullanabilir miyim?
Hayır. Nil UUID'yi gerçek bir tanımlayıcı olarak asla kullanmamalısınız. UUID yokluğunu veya varsayılan durumu temsil eden özel ayrılmış bir değerdir. Bunu normal bir tanımlayıcı olarak kullanmak özel amacına aykırıdır.
Bir UUID'nin Nil UUID olup olmadığını nasıl kontrol ederim?
UUID'yi "00000000-0000-0000-0000-000000000000" dizisiyle karşılaştırın veya tüm bitlerin sıfır olup olmadığını kontrol edin. Çoğu UUID kütüphanesi Nil UUID'yi kontrol etmek için özel bir fonksiyon sağlar.
Tüm sistemler Nil UUID'yi özel olarak tanır mı?
Zorunlu değil. RFC'de tanımlanmış olsa da, tüm sistemler ona özel muamele yapmayabilir. Bazı veritabanları bunu geçerli bir değer olarak kabul ederken, diğerleri reddedebilir veya özel anlamlar yükleyebilir.
Nil UUID ile boş UUID arasında fark var mı?
Doğru uygulanmış sistemlerde "Nil UUID" ve "boş UUID" aynı kavrama işaret etmelidir: tüm sıfırlardan oluşan UUID. Ancak bazı sistemlerde "boş" ve "nil" farklı temsil edilebilir, bu yüzden belirli uygulamayı kontrol etmek önemlidir.