NordVPN
SponsoredStrict no-logs VPN with 6,400+ servers in 111 countries. Threat Protection blocks ads, trackers, and malware while you work online.
Get NordVPN →Bir veya birden çok UUID üretmek için tıklayın. Tamamen rastgele ID'ler için v4'ü ve oluşturma zamanına göre doğal sıralanan zaman-sıralanabilir ID'ler için v7'yi kullanın — veritabanı anahtarları için yararlı.
UUID v4 tamamen rastgeledir — iki sürüm/varyant biti ile 122 rastgele bit, yaklaşık 5,3 × 10³⁶ olası değer sağlar. İkisi temelde asla çakışmaz. Sıralamaya ihtiyaç duymadığınız her yerde v4 kullanın, API istek ID'leri veya anonim kullanıcı tanımlayıcıları gibi.
UUID v7 (RFC 9562, 2024'te yayınlandı) 48-bit Unix milisaniye timestamp ile başlar, ardından 74 rastgele bit gelir. Oluşturma sırasına göre leksikografik olarak sıralanırlar, bu da veritabanı performansı için büyük — zamana göre sıralanan birincil anahtarlar, eklerin her zaman B-ağacının sonuna gittiği anlamına gelir, rastgele sayfa bölünmesi yok. Yeni veritabanı birincil anahtarları için v7 kullanın.
Hem v4 hem v7 crypto.getRandomValues kullanır — tarayıcının güvenli rastgele kaynağı, HTTPS ve şifre yöneticilerinin kullandığı aynı temel. v4 122 biti rastgele doldurur. v7 RFC'ye göre 48 bit timestamp + 74 bit rastgele artı sürüm/varyant işaretçileri böler.
Üretim tarayıcınızda olur. UUID'ler depolanmaz veya iletilmez. 100 v4 UUID üretirseniz, aralarında çakışma olasılığı astronomik olarak küçüktür — CPU'nuzdaki bitleri çeviren kozmik ışınların olasılığından çok daha düşük.
Veritabanı birincil anahtarları olarak v4 UUID'ler, otomatik artan tamsayılara kıyasla performansı düşürür çünkü rastgele değerler eklemeler sırasında B-ağacı sayfa bölünmelerine neden olur. v7 bunu düzeltir — indeks acısı olmadan UUID avantajları istiyorsanız v7 kullanın.
Tahmin edilebilirliğin önemli olduğu yerlerde UUID'leri kullanıcılara ifşa etmeyin. v4 UUID'lerin 122 bit entropisi vardır ve tahmin edilemez. v7 UUID'ler oluşturma zamanını sızdırır, çoğu kullanım için sorun değil ama oluşturma zamanı hassassa kötü.
UUID'ler kısa çizgiler dahil 36 karakterdir (32 hex + 4 kısa çizgi). İkili olarak 16 byte veya metin olarak 36 byte tutar. Çok yüksek kardinaliteli sütunlar için, VARCHAR(36) yerine ikili BLOB / yerel UUID türü olarak saklamayı düşünün.
Evet. Hem v4 hem v7 güvenli rastgele API'si olan crypto.getRandomValues'i kullanır. v4'ün 122 bit entropisi vardır; v7'nin 74.
Çünkü v7 UUID'ler oluşturma zamanına göre sıralanır, eklemeler rastgele konumlar yerine her zaman B-ağacı indeksinin sonuna gider. Bu sayfa bölünmelerinden kaçınır ve yazma verimini önemli ölçüde artırır.
Teorik olarak evet. v4 ile %50 çakışma riskinden önce ~10¹⁸ üretmeniz gerekir. v7 ile zaman bileşeni bunu aynı milisaniye içinde yaklaşık 2⁷⁴'e indirir — yine de pratik olarak imkansız.
Evet. GUID, Microsoft'un UUID için adıdır. Aynı format, aynı benzersizlik garantileri.
Kısa çizgilerle 8-4-4-4-12 hex rakamı. Toplam 32 hex karakter + 4 kısa çizgi = 36 karakter. RFC sözleşmesine göre küçük harf.
v1 MAC adresini içerir, bu bir gizlilik sızıntısıdır. v7, donanım tanımlayıcılarını açığa çıkarmadan zaman sıralı ID'ler için v1'in yerini alır.
Burada doğrudan değil. 22 karakterlik bir ID almak için UUID'nin 16 byte'ını URL-güvenli Base64 olarak kodlayın. Daha kısa URL'ler için yararlı.
Hayır. Üretim tamamen tarayıcınızda olur.
Strict no-logs VPN with 6,400+ servers in 111 countries. Threat Protection blocks ads, trackers, and malware while you work online.
Get NordVPN →Managed cloud hosting for WordPress and web apps on DigitalOcean, Vultr, and AWS. Fast setup, no server headaches.
Try Cloudways →Hire freelancers for design, writing, dev, and marketing — or sell your own services. Millions of gigs at every budget.
Browse Fiverr →