Ana Sayfa/Blog/UUID Nedir? Benzersiz Kimlik Oluşturma Rehberi

UUID Nedir? Benzersiz Kimlik Oluşturma Rehberi

UUID (Universally Unique Identifier), merkezi bir otorite olmadan benzersiz kimlikler oluşturmayı sağlayan 128-bit'lik bir standarttır. Dağıtık sistemlerde, veritabanlarında ve API'lerde kaynakları benzersiz şekilde tanımlamak için yaygın olarak kullanılır.

UUID Nedir ve Neden Gereklidir?

Geleneksel artan sayılar (auto-increment) merkezi bir veritabanına bağımlıdır. Birden fazla sunucu veya servisin aynı anda kayıt oluşturduğu dağıtık sistemlerde, çakışma riski olmadan benzersiz kimlik üretmek için UUID kullanılır.

Bir UUID şu formatta 32 heksadesimal karakterden oluşur:

550e8400-e29b-41d4-a716-446655440000
│        │    │    │    │
│        │    │    │    └── Düğüm (node)
│        │    │    └─────── Saat dizisi / varyant
│        │    └──────────── Versiyon
│        └───────────────── Zaman damgası (bazı versiyonlarda)
└────────────────────────── Zaman damgası (bazı versiyonlarda)

UUID Versiyonları

UUID v1 — Zaman ve MAC Adresi

Oluşturulma zamanı ve bilgisayarın MAC adresinden türetilir:

UUID v4 — Rastgele

Tamamen rastgele sayılardan oluşur ve en yaygın kullanılan versiyondur:

// JavaScript (Web Crypto API)
crypto.randomUUID();
// "3b241101-e2bb-4d7a-8613-e4a28db31cf1"

// Node.js
import { randomUUID } from 'crypto';
randomUUID();

// Python
import uuid
str(uuid.uuid4())

UUID v7 — Zaman Tabanlı (Yeni Standart)

2024'te onaylanan en yeni UUID versiyonudur. Unix milisaniye zaman damgası ile başlar:

// Yapı: milisaniye zaman damgası + rastgele
018f1c7c-8e80-7000-8000-1a2b3c4d5e6f
│              │
└── zaman ─────┘    └── rastgele ──────┘

UUID vs Auto-Increment

İki yaklaşımın karşılaştırması:

Çarpışma Olasılığı

UUID v4'te 122 bit rastgelelik vardır. Bu, astronomik düzeyde düşük bir çarpışma olasılığı anlamına gelir:

Pratikte, UUID çarpışması konusunda endişelenmenize gerek yoktur. Donanım hatası olasılığı UUID çarpışmasından çok daha yüksektir.

ULID: Alternatif Bir Yaklaşım

ULID (Universally Unique Lexicographically Sortable Identifier), UUID'nin sıralanamaz olma dezavantajını gideren bir alternatiftir:

01ARZ3NDEKTSV4RRFFQ69G5FAV
│                          │
└── zaman (48-bit) ────────┘ └── rastgele (80-bit) ─┘

Ancak UUID v7'nin standartlaşmasıyla ULID'nin avantajı azalmıştır. Yeni projeler için UUID v7 önerilir.

Ne Zaman Ne Kullanmalı?

Hızlıca UUID oluşturmak mı istiyorsunuz? SiteScripti'nin UUID Oluşturucu aracıyla farklı UUID versiyonlarını anında üretebilirsiniz.

Bu konuyla ilgili araçlarımızı da deneyin: JSON Formatter, Regex Test Aracı, cURL Builder

← Tüm Yazılar