Bir UUID v7 nedir?
Bir UUID v7, 48 bitlik Unix zaman damgasıyla başlar; ardından sürüm ve varyant bitleri ile 74 bit rastgele veri gelir. Zaman başta olduğu için değerler dizge olarak karşılaştırıldığında tarih sırasına göre sıralanır.
Klasik v4 ile karşılaştırıldığında en büyük kazanç veritabanındadır: art arda eklenen satırlar indeksin sonuna yazıldığı için sayfa bölünmesi ve önbellek kaybı azalır. Rastgele bitler de aynı milisaniyedeki çakışmayı önler.
Nasıl kullanılır
- Üretilecek adedi seçin (1 ile 1000 arası).
- Gerekirse büyük harf veya süslü parantez biçimini açın.
- Oluştur düğmesine basın; değerler zaman sırasına göre artan olur.
Kullanım alanları
- Yüksek yazma hacimli veritabanlarında birincil anahtar.
- Oluşma sırasına göre listelenmesi gereken olay ve işlem kayıtları.
- Dağıtık sistemlerde sunucu saatine dayalı, merkezî sayaç gerektirmeyen kimlik.
UUID v7 nerede duruyor
| Seçenek | Ne zaman kullanılır |
|---|---|
v7 | Zaman + rastgele: çoğu yeni veritabanı için en iyi denge |
v4 | Saf rastgele; sıralama gerekmiyorsa yeterli |
v6 | Daha yüksek zaman çözünürlüğü ve düğüm alanı isteyenler için |
UUID sürümleri kısaca
| Sürüm | Sıralanabilir | Neye dayanır | Ne için kullanılır |
|---|---|---|---|
| v1 | Hayır | Zaman damgası + MAC adresi | Hâlâ v1 bekleyen eski sistemler |
| v3 | Hayır | Bir ismin MD5 özeti | MD5 zorunlu olduğunda deterministik kimlik |
| v4 | Hayır | 122 bit rastgele | Neredeyse tüm genel amaçlı kimlikler |
| v5 | Hayır | Bir ismin SHA-1 özeti | Aynı ismin her zaman aynı kimliği vermesi gerektiğinde |
| v6 | Evet | Yeniden sıralanmış zaman damgası | Rastgelelikten vazgeçmeden sıralanabilir kimlik |
| v7 | Evet | Milisaniyelik Unix zamanı | Veritabanı birincil anahtarları ve olay kimlikleri |
| v8 | Hayır | Sizin bit düzeniniz | Özel veya deneysel biçimler |
Yedi sürümün tümü 128 bittir ve aynı 8-4-4-4-12 biçiminde yazılır. Değişen tek şey bitlerin anlamıdır.
Sık sorulan sorular
v7 rastgele v4'ün yerini alır mı?
Sıralanabilirlik önemliyse evet. Ancak değerin başındaki zaman damgası üretildiği anı açığa çıkarır; bu bilgiyi paylaşmak istemiyorsanız v4 daha uygundur.
Saat geriye alınırsa ne olur?
Sıralama geçici olarak bozulabilir. Sağlam uygulamalar son üretilen zaman damgasını saklar ve saat geriye gitse bile ondan küçük değer üretmez.
v7'yi metin olarak mı saklamalıyım?
Hayır, mümkünse uuid veya BINARY(16) tipini kullanın. Sıralama avantajı ancak yerel tiple korunur; 36 karakterlik metin hem daha çok yer kaplar hem daha yavaş karşılaştırılır.