Biçim ve sürüm
UUID çoğunlukla tirelerle ayrılmış onaltılık gruplardan oluşan 128 bitlik değerdir. Sürüm ve varyant alanları üretim yöntemini belirtir.
Sıralama ve rastgelelik gereksinimine göre sürüm seçin; kullanılan üreticinin hangi sürümü desteklediğini kontrol edin.
Kullanım örnekleri
Dağıtık sistemlerde merkezi sayaç olmadan kayıt anahtarı üretmek veya API kaynaklarını tanımlamak için kullanılabilir.
UUID’yi kayıt erişim yetkisi gibi kullanmayın. Yetkilendirme sunucu tarafında ayrıca doğrulanmalıdır.
Çakışma ve veritabanı
Uygun üreticide çakışma olasılığı düşük olabilir; veri katmanında benzersizlik kısıtı yine de kullanın.
Rastgele UUID’nin indeks davranışı sıralı ID’den farklı olabilir. Büyük tabloda depolama ve sorgu performansını ölçün.
Test ve paylaşım
Geliştirme ortamında örnek kimlik üretmek pratiktir. Üretim kimliğini gizli token gibi kullanacaksanız ayrı güvenlik tasarımı yapın.
API sözleşmesinde harf biçimi, tire ve doğrulama kurallarını açıklayın.
UUID sürümleri neyi ifade eder?
UUID tek bir üretim algoritması adı değil, farklı sürüm ve varyant alanlarına sahip kimlik ailesidir. Bazı sürümler rastgelelik temelli, bazıları belirli namespace veya zaman bilgisi temellidir; seçimi kullandığınız standarda ve gizlilik gereksinimine göre yapın. UUIDv4 yaygın olarak rastgele değer üretmek için kullanılır. UUIDv7 zaman sıralı düzenleme avantajları sağlayabilir, ancak üretici desteği ve veritabanı davranışı uygulama bazında değerlendirilmelidir. Sürüm bilgisini yalnız biçime bakarak her zaman doğru yorumlamak yerine kullandığınız kütüphanenin dokümantasyonunu okuyun. Servisler arası sözleşmede hangi sürümün üretildiğini, büyük-küçük harf ve tire biçimini, ayrıca kabul edilen karakter kümesini tanımlayın.
Benzersizlik ve çakışma olasılığı
Rastgele kimlik uzayı geniş olduğunda çakışma olasılığı düşük olabilir; ancak hiçbir dağıtık sistem varsayımı uygulamanın bütün durumlarını kapsamaz. Yüksek üretim hacmi, hatalı rastgele sayı kaynağı veya veri birleştirme senaryoları değerlendirilmelidir. Veritabanında benzersiz kısıt kullanmak son savunma katmanıdır; çakışma görülürse yeni kimlik üretip işlemi güvenli biçimde tekrar deneyin. UUID de normal bir anahtar gibi indeks, depolama ve aktarım maliyeti taşır. Büyük veri tablolarında farklı kimlik düzenlerinin ekleme, sıralama ve sorgu performansını ölçün. UUID kullanmak otomatik olarak daha hızlı veya daha gizli anlamına gelmez; ihtiyaç duyulan özellikleri iş akışına göre seçin.
UUID bir erişim sırrı değildir
Tahmin edilmesi zor bir kimlik, tek başına yetkilendirme denetimi değildir. Bir API uç noktası kayıt UUID’sini kabul ediyorsa sunucu ayrıca isteği yapan kullanıcının o kayda erişim hakkı olup olmadığını kontrol etmelidir. Kimliği gizli bağlantı gibi kullanmak; log, tarayıcı geçmişi, ekran görüntüsü, destek mesajı veya referer aktarımıyla açığa çıkabilir. Tek kullanımlık parola sıfırlama veya davet bağlantısı için ayrı amaçla tasarlanmış, süreli, iptal edilebilir ve sunucu tarafında doğrulanan token mekanizması kullanın. UUID bir tablo satırını tanımlamak için elverişli olabilir, ama gizlilik politikası ve erişim katmanını bunun üzerine kurmayın. Tanımlayıcı ve yetki kanıtını birbirinden ayırın.
API ve veritabanı entegrasyonunda kontrol
UUID’yi API’de metin olarak taşıyorsanız doğrulama kurallarını merkezi ve tutarlı tanımlayın. Hatalı uzunluk, geçersiz hex karakteri veya yanlış tire biçimi istemci ve sunucu arasında farklı yorumlanmasın. Üretim ve test ortamı kayıtlarını birbirinden ayırın; gerçek kullanıcı tanımlayıcılarını herkese açık örneklerde paylaşmayın. Veritabanı sütun türleri, indeks stratejisi ve sıralama beklentisi kullanılan motorun özelliklerine bağlıdır. UUIDv7 gibi zamana bağlı sıralama özellikleri veri hakkında zaman bilgisi açığa çıkarabilir; bunu gizlilik açısından değerlendirin. YulaTools UUID Generator örnek değer üretir, uygulamanızın kimlik yaşam döngüsünü veya erişim politikasını yapılandırmaz. Üretimden önce gerçek istemci ve veritabanı hattında uçtan uca test edin.
Örnek iş akışı: istemci ve servis arasında kayıt kimliği
Bir sipariş servisi yeni kayıt için UUID üretip bunu API yanıtında istemciye döndürebilir. İstemci kimliği bağlantılarda kullanırken sunucu her istekte oturum sahibinin o siparişe erişim iznini ayrıca kontrol eder. Veri tablosunda benzersiz indeks kurulur; olası çakışma veya tekrar deneme davranışı işlem mantığında ele alınır. Takım, sözleşmede sürümü ve metin biçimini belirtir, testlerde geçerli ve hatalı örnekleri dener. UUIDv7 gibi sıralama özellikleri seçilecekse saat bilgisi ve veritabanı indeks etkisi ölçülür. Bu düzen merkezi sayaca ihtiyaç duymadan kimlik üretimini kolaylaştırabilir ama kimliğin gizli token olduğunu veya erişim yetkisi verdiğini varsaymaz. Yetki politikası ayrı endpoint testleriyle doğrulanır. Kimliği kullanıcıya gösteren log ve hata mesajlarında erişim anahtarıymış gibi gizlilik varsayımı kurmayın. Destek kayıtlarında gerçek kişileri tanımlayabilecek ID değerlerini maskeleyin ve kimlik üretiminin istemciye mi sunucuya mı ait olduğunu mimari notta belirtin.
Uygulanabilir kısa kontrol listesi
- Kimliğin kapsamını ve kullanım amacını belirleyin.
- Gereksinime uygun UUID sürümünü seçin.
- Veri katmanında benzersizliği, uygulamada yetkilendirmeyi ayrı koruyun.
Sık sorulan sorular
UUID tahmin edilemez mi?
Sürüme bağlıdır. UUID’yi gizli token veya yetki mekanizması olarak kullanmayın.
Aynı UUID tekrar üretilebilir mi?
Teorik olarak evet. Olasılık düşük olsa da benzersizlik kısıtını koruyun.
UUID her veritabanında iyi anahtar mı?
Hayır. İndeks ve sıralama özelliklerini kendi sisteminizde ölçün.