UUID Oluşturucu

Benzersiz tanımlayıcılar için rastgele UUID'ler oluşturun

Tam kılavuzu okuyun

UUID'ler Hakkında:

  • UUID v4: Rastgele oluşturulur, en yaygın kullanılan
  • UUID v1: Zaman damgası ve MAC adresine dayalı (sürümümüz gizlilik için MAC yerine rastgele veri kullanır)
  • UUID'ler global olarak benzersiz 128-bit tanımlayıcılardır
  • Format: xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx (M = sürüm, N = varyant)

Türkiye'nin en güvenilir UUID oluşturucu aracıyla veritabanı kayıtları, API entegrasyonları ve dağıtık sistemler için benzersiz tanımlayıcılar üretin. UUID v4 (rastgele) ve UUID v1 (zaman tabanlı) formatlarında toplu ID oluşturma. Trendyol, Hepsiburada gibi e-ticaret platformlarının sipariş ve ürün ID'leri, mikroservis mimarileri, message queue sistemleri ve distributed caching için ideal. RFC 4122 standardına uyumlu, kriptografik olarak güvenli (crypto.getRandomValues). Tüm işlemler tarayıcınızda gerçekleşir—hiçbir UUID sunucuya gönderilmez.

UUID (Universally Unique Identifier - Evrensel Benzersiz Tanımlayıcı), 128-bit (16 byte) uzunluğunda, merkezi koordinasyon olmadan global benzersizlik garantisi veren standarttır. RFC 4122 ile tanımlanır. Format: xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx (32 hex + 4 tire = 36 karakter). M konumu sürümü (1-5), N konumu varyantı gösterir. UUID v4 (en yaygın) tamamen rastgele üretilir: 122 bit rastgele + 6 bit sürüm/varyant = 5.3×10^36 kombinasyon. İki UUID'nin çakışma olasılığı: 1 milyar UUID üretilse bile çakışma olasılığı 10^-18 (pratik olarak imkansız). Türkiye'de e-ticaret, bankacılık ve kurumsal yazılımlarda yaygın kullanılır: sipariş numaraları, işlem ID'leri, session tokenler.

Veritabanı Primary Key

Auto-increment ID yerine UUID kullanmak birçok avantaj sağlar: Dağıtık veritabanlarında (sharding) çakışma olmaz, ID tahmin edilemez (güvenlik), veritabanı bağımsız ID üretimi (önce ID, sonra insert). Türkiye'deki e-ticaret platformları sipariş ID'lerinde UUID kullanır—müşteriler sipariş numarasından toplam sipariş sayısını tahmin edemez. PostgreSQL uuid tipi, MySQL BINARY(16) veya CHAR(36) ile saklanır. İndeks performansı için UUID v7 (zaman sıralı) tercih edilebilir.

Mikroservis Mimarisi

Mikroservislerde her servis bağımsız ID üretmelidir—merkezi ID servisi darboğaz ve single point of failure oluşturur. UUID ile her servis kendi ID'sini üretir, servisler arası koordinasyon gerekmez. Türkiye'deki büyük e-ticaret (Trendyol, Hepsiburada), fintech (Papara, iyzico) ve telekomünikasyon (Turkcell, Vodafone) şirketleri mikroservis mimarisinde UUID kullanır. Correlation ID olarak da kullanılır—bir isteğin tüm servislerdeki loglarını takip etmek için.

API Kaynakları ve RESTful Endpoint'ler

RESTful API'larda kaynak ID'leri URL'de görünür: /api/products/{uuid}. Auto-increment yerine UUID: 1) Güvenlik—/api/orders/1, /api/orders/2 gibi tahmin edilebilir ID'ler bilgi sızdırır. 2) Idempotency—client UUID oluşturur, retry durumunda aynı kaynak tekrar oluşmaz. Türkiye'deki payment API'ları (iyzico, PayTR) transaction ID olarak UUID kullanır. OpenAPI/Swagger'da format: uuid olarak tanımlanır.

Dosya Yükleme ve Depolama

Kullanıcı yüklediği dosyaların ismi çakışabilir (image.jpg). UUID ile benzersiz dosya adı: {uuid}.{extension}. S3, Azure Blob, Google Cloud Storage'da dosya anahtarı olarak UUID kullanılır. Türkiye'deki e-ticaret siteleri ürün resimlerini UUID ile saklar. CDN cache invalidation için de UUID'li URL'ler avantajlı. Güvenlik: Orijinal dosya adı saklanmaz—kullanıcı bilgisi sızmaz.

Session ve Token Yönetimi

Kullanıcı oturumları, API tokenler ve refresh tokenler için UUID kullanılır. Tahmin edilemez olması güvenlik sağlar—brute force ile geçerli token bulmak imkansız. Türkiye'deki bankacılık uygulamaları (İşCep, Garanti BBVA) session ID'lerde UUID kullanır. JWT yerine opaque token tercih edildiğinde UUID ideal. Redis'te session:uuid şeklinde saklanır. Token rotation: Her kullanımda yeni UUID, eski UUID geçersiz.

Event Sourcing ve Message Queue

Event-driven mimarilerde her event benzersiz ID'ye sahip olmalı—replay, deduplication ve ordering için. Kafka, RabbitMQ, Azure Service Bus message'larında UUID kullanılır. Türkiye'deki fintech şirketleri (Papara, Param) para transferi eventlerini UUID ile takip eder. Idempotency key olarak UUID—aynı işlem birden fazla kez gönderilse bile tek sefer işlenir. Event ID + timestamp kombinasyonu audit trail sağlar.

UUID v4 üretimi: 1) 128 bit (16 byte) kriptografik rastgele sayı üretilir (crypto.getRandomValues). 2) 7. byte'ın üst 4 biti 0100 yapılır (versiyon 4). 3) 9. byte'ın üst 2 biti 10 yapılır (varyant RFC 4122). 4) 16 byte hex string'e çevrilir, tireler eklenir: 8-4-4-4-12. UUID v1 üretimi: Zaman damgası (100-nanosaniye hassasiyetinde, 15 Ekim 1582'den itibaren) + clock sequence (restart koruması) + node ID (genellikle MAC adresi, gizlilik için rastgele). UUID v7 (yeni): Unix timestamp + rastgele—zaman sıralı, veritabanı indeksleri için optimal. Çakışma olasılığı: UUID v4'te 2^122 kombinasyon var. 1 trilyon UUID üretilse bile çakışma olasılığı milyarda 1'in altında. Bu araç Web Crypto API kullanır—tarayıcınızda donanım destekli rastgele sayı üretimi.

Auto-increment4-8 byteEvetKolayZor
UUID v416 byteHayırİmkansızKolay
UUID v116 byteKısmenOrtaKolay
UUID v716 byteEvetZorKolay
ULID16 byteEvetZorKolay
Snowflake ID8 byteEvetOrtaOrta
NanoIDDeğişkenHayırİmkansızKolay

UUID v4 üretimi Web Crypto API (crypto.getRandomValues) kullanır—tüm modern tarayıcılarda desteklenir: Chrome 11+ (2011), Firefox 21+ (2013), Safari 6.1+ (2013), Edge 12+ (2015). Node.js 14.17+'da crypto.randomUUID() doğrudan UUID v4 üretir. Türkiye'de tarayıcı dağılımı %99+ destekliyor. Web Crypto API donanım rastgele sayı üreteci (HRNG) kullanır—yazılımsal PRNG'den daha güvenli. Eski tarayıcılarda Math.random() fallback kullanılır ama kriptografik güvenlik yoktur. Bu araç tüm UUID'leri tarayıcınızda üretir, hiçbir veri sunucuya gönderilmez.

Sıkça Sorulan Sorular

UUID gerçekten benzersiz mi? Çakışma olabilir mi?
Pratik olarak imkansız! UUID v4'te 2^122 (5.3×10^36) kombinasyon var. Dünya nüfusu her saniye 1 milyar UUID üretse, çakışma için 100 yıl gerekir—ve o zaman bile olasılık milyarda 1'in altında. Karşılaştırma: Aynı anda iki kişinin aynı atom numaralı atomu seçmesi kadar düşük olasılık. Türkiye'deki tüm e-ticaret işlemleri UUID kullansa bile asla çakışma olmaz. Dikkat: Kötü rastgele sayı üreteci (Math.random()) çakışmaya yol açabilir—her zaman crypto.getRandomValues kullanın.
UUID v1 mi v4 mü kullanmalıyım?
Çoğu uygulama için UUID v4 önerilir—tamamen rastgele, gizlilik dostu. UUID v1 avantajları: Zaman sıralı (veritabanı indeks performansı), oluşturulma zamanı çıkarılabilir (audit). UUID v1 dezavantajları: MAC adresi içerebilir (gizlilik riski), aynı milisaniyede üretilen UUID'ler sıralı olmayabilir. Türkiye'deki modern uygulamalar genellikle UUID v4 kullanır. Zaman sıralaması gerekiyorsa UUID v7 (yeni standart) veya ULID tercih edin. Veritabanı performansı kritikse UUID v7 en iyi seçenek.
UUID veritabanı performansını etkiler mi?
Evet, rastgele UUID'ler B-tree indekslerde sayfa bölünmesine (page split) yol açar—insert performansı düşer. Çözümler: 1) UUID v7 veya ULID kullanın—zaman sıralı, B-tree dostu. 2) PostgreSQL: uuid-ossp veya pgcrypto extension + BRIN indeks. 3) MySQL: BINARY(16) olarak sakla (CHAR(36) yerine, %50 az yer). 4) Clustered index'i UUID yapmayın—auto-increment ID clustered, UUID secondary index. Türkiye'deki yüksek trafikli siteler (Trendyol, Hepsiburada) UUID + optimizasyon kombinasyonu kullanır.
UUID'den zaman bilgisi çıkarılabilir mi?
UUID v1'de evet—ilk 60 bit timestamp içerir (100-nanosaniye hassasiyetinde, 15 Ekim 1582'den itibaren). Örnek: 550e8400-e29b-11d4-a716-446655440000 → 2000-10-10T00:00:00Z. UUID v4'te hayır—tamamen rastgele, zaman bilgisi yok. UUID v7'de evet—ilk 48 bit Unix timestamp (milisaniye). Türkiye'de güvenlik önlemi: Kullanıcılara gösterilen ID'lerde UUID v1 kullanmayın—oluşturulma zamanı sızdırabilir. Audit amaçlı dahili ID'lerde UUID v1/v7 kullanılabilir. Log analizi için UUID v7 avantajlı—zaman sıralaması kolay.
UUID'yi kısa formatta kullanabilir miyim?
Evet, birkaç yöntem: 1) Tiresiz format: 32 karakter (550e8400e29b41d4a716446655440000). 2) Base64: 22 karakter (VQ6EAOKbQdSnFkRmVUQAAA==). 3) Base62: 22 karakter (alfanümerik, URL-safe). 4) NanoID: 21 karakter alternatif (UUID değil ama benzer güvenlik). Türkiye'deki uygulamalarda: URL'lerde Base62/NanoID (kısa, güzel), veritabanında standart UUID (16 byte binary), API response'larda tiresiz veya tireli tercih. Dikkat: Kısa formatlar arasında dönüşüm yaparken veri kaybı olmaz ama format tutarlılığı önemli.
Türkiye'deki e-ticaret platformları UUID'yi nasıl kullanıyor?
Trendyol: Sipariş numaraları UUID benzeri format (dışarıya gösterilmez, internal ID), ürün ID'leri numerik ama API'da UUID. Hepsiburada: Sepet ID, session ID UUID formatında. iyzico/PayTR: conversationId (işlem takip) UUID öneriliyor. Getir: Sipariş ve teslimat takip UUID. Ortak pattern: Kullanıcıya gösterilen sipariş numarası 'human-friendly' (ör. TRN-2024-ABC123), internal ID UUID. Bu sayede: Müşteri kolayca okuyabilir, sistem benzersizliği garanti eder.
UUID güvenlik için yeterli mi? Token olarak kullanılabilir mi?
UUID v4 kriptografik olarak güvenlidir (crypto.getRandomValues)—tahmin edilemez. Basit session ID, idempotency key, correlation ID için yeterli. Ancak: Authentication token olarak tek başına yetersiz—imza/şifreleme yok. API key olarak riskli—sızarsa geçersiz kılınamaz (rotate gerekir). Türkiye'deki best practice: Session ID olarak UUID + Redis TTL. API authentication için JWT veya HMAC imzalı token. Refresh token için UUID + veritabanı kaydı (revoke edilebilir). Kritik: UUID'yi URL'de query parameter olarak geçirmeyin (log'lara yazılır)—header'da gönderin.
UUID v7 nedir? Ne zaman kullanmalıyım?
UUID v7, 2022'de RFC 9562 ile standartlaştırılan yeni format. İlk 48 bit: Unix timestamp (milisaniye), sonraki 74 bit: rastgele. Avantajları: Zaman sıralı (B-tree indeks performansı), oluşturulma zamanı çıkarılabilir, UUID v4 kadar benzersiz. UUID v4 yerine UUID v7 kullanın: Veritabanı primary key, event sourcing, log aggregation. UUID v4 kullanmaya devam edin: Güvenlik tokenleri (zaman bilgisi istemiyorsanız), legacy sistemlerle uyumluluk. Türkiye'deki yeni projeler UUID v7 tercih etmeli—performans ve pratiklik avantajı.

İlgili Araçlar