TIL: UUID sürümleri ve ne zaman kullanılmalı
(ntietz.com)-
UUID'nin çeşitli sürümleri
- UUID Version 1 (v1): zaman damgası, monoton sayaç ve MAC adresiyle oluşturulur
- UUID Version 2 (v2): güvenlik kimlikleri için ayrılmıştır. Ayrıntıları pek bilinmez
- UUID Version 3 (v3): verilen verinin MD5 hash'iyle oluşturulur. DNS ve URL aday veri olarak önerilir
- UUID Version 4 (v4): tamamen rastgele verilerle oluşturulur. Çoğu kişinin UUID denince aklına gelen sürümdür
- UUID Version 5 (v5): verilen verinin SHA1 hash'iyle oluşturulur. v3'te olduğu gibi DNS ve URL aday veri olarak önerilir
- UUID Version 6 (v6): zaman damgası, monoton sayaç ve MAC adresiyle oluşturulur. v1 ile aynı veriyi kullanır, ancak oluşturulma zamanına göre sıralanabilmesi için düzeni değiştirilmiştir
- UUID Version 7 (v7): zaman damgası ve rastgele verilerle oluşturulur
- UUID Version 8 (v8): tamamen kullanıcı tanımlıdır (zorunlu sürüm/variant alanları hariç)
-
Ne zaman kullanılmalı
- v4: rastgele bir kimliğe ihtiyaç duyduğunuzda kullanın. Varsayılan seçim olarak uygundur
- v7: sıralama gerektiğinde kullanın. Örneğin veritabanı anahtarı olarak kullanmak için uygundur
- v5 veya v8: benzersiz veriyi UUID içine dahil etmek istediğinizde kullanın. Gerekirse bunu zaten anlarsınız
-
Diğer sürümler hakkında açıklamalar
- v7, v1 ve v6'nın geliştirilmiş halidir; mümkünse v7 kullanmak daha iyidir. Bu yüzden v1 veya v6 genelde kullanılmaz
- v2, güvenlikle ilgili kullanım için ayrılmıştır. Kullanıyorsanız ayrıntılarını bilme ihtimaliniz düşüktür
- v3'ün yerini v5 almıştır. v5 daha güçlü bir hash kullanır
GN⁺ özeti
- UUID'nin çeşitli sürümleri vardır ve her sürüm belirli kullanım amaçları için tasarlanmıştır
- v4 ve v7 en yaygın kullanılan sürümlerdir; v5 ve v8 ise belirli veri gereksinimleri olduğunda kullanılır
- UUID sürümü seçimi kullanım amacına göre değişir; sıralama gerekiyorsa v7, rastgele kimlik gerekiyorsa v4 iyi bir seçimdir
- UUID'nin farklı sürümlerini anlamak, projeniz için uygun UUID'yi seçmenize yardımcı olur
1 yorum
Hacker News görüşleri
UUID Version 2 (v2), güvenlik ID'leri için ayrılmıştır ve ayrıntıları hakkında pek fazla şey bilinmez
UUID v2'nin ayrıntıları RFC 9562 belgesinde kolayca bulunabilir
UUID v7'nin zaman damgası, Databend'de metadata dosyalarını hızlıca bulmak için faydalıdır
Keşke kısa UUID'ler için bir standart olsaydı
73WakrfVbNJBaAmhQtEeDvveyabK7nP9xMUUID2'nin amacını anlamak zor
UUID v4, basitçe rastgele bayt üreten bir üreticidir
MAC tabanlı sürümleri kullanmamak daha iyidir
SHA256 verisi ve sayaç kullanan bir UUID faydalı olabilir
v7 kullanmak iyi olur
İlgi çekici bir okumaydı