UUID Versiyon 6 Üretici (Sıralı Zaman Damgası)

Veritabanı indekslemesi için optimize edilmiş zaman damgası sıralı UUID'ler oluşturun

Bu örnekleri deneyin:

UUID v6 nedir?

UUID sürüm 6 zaman tabanlı 128 bitlik bir tanımlayıcıdır (36 karakterli dize) ve UUID v1'e bir iyileştirme olarak önerilmiştir. Şunlardan oluşur:

  • Yeniden sıralanmış zaman damgası: En anlamlıdan en az anlamlıya 60 bitlik zaman damgası
  • Saat dizisi: Saat ayarları için 14 bitlik sayaç
  • Düğüm Kimliği: 48 bitlik değer (genellikle MAC adresi)

Format örneği: 1eb527d6-e927-6511-9a03-0242ac130003

UUID v6 nasıl çalışır

  1. Mevcut zaman damgasını hesapla (1582-10-15'ten itibaren 100ns aralıkları)
  2. Daha iyi sıralama için zaman damgası bitlerini yeniden sırala (en anlamlı bitler önce)
  3. Saat geri giderse benzersizlik için 14 bitlik saat dizisini al/artan
  4. 48 bitlik düğüm kimliğini al (genellikle MAC adresinden)
  5. Sürüm bitlerini (0110) ve varyant bitlerini (10) ayarla
  6. 32 onaltılık rakamı tirelerle birleştir: 8-4-4-4-12 formatı

Avantajlar ve Dikkat Edilmesi Gerekenler

AdvantagesConsiderations
  • Sözlük sırasına göre sıralanabilir
  • Gömülü oluşturulma zamanı
  • Yüksek performanslı üretim
  • Dağıtık üretim
  • MAC adresi gizliliği endişeleri
  • Saat senkronizasyonu sorunları
  • Rastgele UUID'lerden daha öngörülebilir
  • Taslak spesifikasyon durumu

UUID v6 Yapısı

BitsContent
0-47Zaman damgasının yüksek 48 biti
48-51Sürüm (v6 için 0110)
52-59Zaman damgasının düşük 8 biti
60-63Zaman damgasının yüksek 4 biti
64-65Varyant (RFC4122 için 10)
66-79Saat dizisi (14 bit)
80-127Düğüm Kimliği (48 bit)

UUID v6 ve diğer sürümler

VersionDayalıKullanım durumuPrivacy
UUID v1Zaman + MACZamana göre sıralanmış kimlikler⚠️ MAC adresini açığa çıkarır
UUID v3Ad alanı + MD5Deterministik Kimlikler✅ Özel
UUID v4RandomGüvenli rastgele kimlikler✅ Özel
UUID v5Ad alanı + SHA-1Deterministik Kimlikler✅ Özel
UUID v6Zaman (yeniden sıralanmış)Sıralanabilir kimlikler⚠️ MAC adresini açığa çıkarır
UUID v7Zaman + rastgeleSıralanabilir kimlikler✅ Özel

Yaygın Kullanım Durumları

  • Zamana göre sıralanabilir veritabanı anahtarları: Kronolojik sıralama için
  • Dağıtık veritabanları: Zamana göre sıralanmış indeksleme ile
  • Günlük girdileri: Doğal kronolojik sıra ile
  • Denetim izleri: Gömülü zaman damgaları ile
  • Mesaj kuyruğu: Zamana dayalı işleme için
  • İşlem kayıtları: Kronolojik sıralama ile

Sıkça Sorulan Sorular

UUID v1 ile v6 arasındaki fark nedir?

UUID v6, zaman damgası bitlerini UUID v1'den yeniden düzenleyerek doğal olarak sözlük sırasına göre sıralanabilir hale getirir. İçerik v1 ile aynıdır, sadece yeniden sıralanmıştır.

UUID v6 resmi bir standart mı?

UUID v6 şu anda önerilen RFC 4122bis belgesinde taslak spesifikasyondur. Henüz resmi bir RFC standardı değildir ancak birçok UUID kütüphanesinde uygulanmaktadır.

UUID v6'dan oluşturulma zamanını çıkarabilir miyim?

Evet. Zaman damgası bileşeni 0-59 bitlerinden çıkarılabilir ve datetime değerine dönüştürülebilir.

UUID v6 oluşturulma zamanına göre sıralanabilir mi?

Evet. v1'in aksine, UUID v6 zaman damgası bitlerini en anlamlıdan en az anlamlıya sıralar, böylece doğrudan sözlük sıralaması (dize) kronolojik sırayla eşleşir.

UUID v6 MAC adresimi açığa çıkarır mı?

Varsayılan olarak evet. UUID v1 gibi, çoğu uygulama düğüm kimliği için MAC adresini kullanır. Gizlilik odaklı uygulamalar bunun yerine rastgele düğüm kimlikleri kullanabilir.

Resources