UUID v4 vs UUID v7 — Hangisini Kullanmalısınız?
UUID v7, RFC 9562'de (Mayıs 2024) standartlaştırılmış olup, UUID v4'ün ana zayıflığını giderir: zayıf veritabanı indeks performansı.
UUID v4 (Rastgele)
UUID v4, 122 rastgele bit ve 6 sabit bit kullanır. Bu, koordinasyon olmadan benzersizliği garanti eder ancak zaman içinde rastgele dağılmış ID'ler üretir. Bir veritabanında B-tree birincil anahtarı olarak kullanıldığında, rastgele ID'ler sayfa bölünmelerine ve indeks parçalanmasına neden olarak yazma performansını düşürür.
UUID v7 (Zamana Göre Sıralı)
UUID v7, 48 bitlik Unix milisaniye zaman damgası ve ardından rastgele bitler kullanır. Zaman damgası ön eki, UUID'leri oluşturma zamanına göre doğal olarak sıralanabilir hale getirerek B-tree parçalanma sorununu çözer. Anahtarlar hala küresel olarak benzersizdir ve koordinasyon olmadan oluşturulabilir.
Karşılaştırma
| | UUID v4 | UUID v7 | |---|---------|---------| | Standart | RFC 9562 | RFC 9562 | | Sıralanabilir | Hayır | Evet (zamana göre) | | VT Performansı | Zayıf | İyi | | Benzersiz | Evet | Evet | | Zaman damgası sızdırır | Hayır | Evet (milisaniye hassasiyeti) |
Öneri: Veritabanı birincil anahtarları için UUID v7 kullanın ve oluşturma zamanını açıkça göstermek istemediğinizde UUID v4 kullanın. Her ikisini de UUID oluşturucumuzda deneyin.