Hakkını bil, haklı çık!

GUID (Globally Unique Identifier), Türkçe’de “Küresel Benzersiz Tanımlayıcı” anlamına gelir. Bir GUID, dünya genelinde benzersiz olması garanti edilen bir tanımlayıcıdır. Genellikle yazılım geliştirme ve veri tabanı sistemlerinde, farklı nesneleri, kayıtları veya kaynakları tanımlamak için kullanılır.

Özellikleri:

  1. Benzersizlik: Her GUID’in dünya genelinde benzersiz olması garanti edilir.

  2. Format: GUID, genellikle 128 bit uzunluğunda bir sayıdır ve standart olarak beş gruba bölünmüş bir biçimde (hexadecimal) yazılır. Örneğin: 123e4567-e89b-12d3-a456-426614174000

  3. Oluşturulma: GUID’ler genellikle yazılım kütüphaneleri veya işletim sistemleri tarafından otomatik olarak oluşturulur. Örneğin, bir GUID oluşturmak için .NET, Java veya Python gibi programlama dillerinde yerleşik fonksiyonlar bulunur.

Nerelerde Kullanılır?

  • Veri Tabanları: Bir tablodaki her kaydı benzersiz bir şekilde tanımlamak için.

  • Dağıtık Sistemler: Birden fazla sunucu veya sistem arasında çakışma olmadan benzersiz kimlikler oluşturmak için.

  • Dosya Tanımlama: Belirli dosyaların benzersiz şekilde adlandırılması.

  • API’ler ve Yazılım Geliştirme: Benzersiz oturum, kullanıcı veya işlem kimlikleri oluşturmak için.

GUID Nasıl Benzersiz Olabilir?

GUID (Globally Unique Identifier) benzersizliğini sağlayan temel mekanizma, GUID oluşturma algoritmasının birden çok benzersiz faktörü dikkate alması ve büyük bir olasılık uzayı kullanmasıdır. İşte bunun nasıl çalıştığı:

 

1. Büyük Olasılık Uzayı

GUID’ler 128 bit uzunluğunda değerlerdir. Bu, yaklaşık olarak 21282^{128} (yaklaşık 3.4×10383.4 \times 10^{38}) farklı değer anlamına gelir. Bu kadar büyük bir sayı uzayında, aynı değerin tekrar oluşturulma olasılığı ihmal edilebilecek kadar düşüktür.

2. GUID Oluşturma Algoritmaları

GUID oluşturulurken çeşitli algoritmalar kullanılır ve bu algoritmalar benzersizliği sağlamak için farklı yöntemlerden yararlanır:

a. UUID v1 (Zamana Dayalı)

  • Zaman Damgası: GUID, oluşturulduğu anda sistem saatini kullanır.

  • MAC Adresi: Bilgisayarın ağ adaptörünün benzersiz MAC adresi eklenir.

  • Rastgele Bileşenler: Bazı ek rastgele bileşenler de algoritmaya dahil edilir.

Benzersizlik Garantisi: Zaman ve MAC adresi birleşimiyle, iki cihazın aynı anda aynı GUID’i oluşturması neredeyse imkansızdır.

b. UUID v4 (Rastgele)

  • GUID’in büyük bir kısmı tamamen rastgele oluşturulur.

  • Modern rastgele sayı üreteçleri (cryptographic random number generators) kullanılır.

Benzersizlik Garantisi: Rastgele oluşturulan GUID’lerin çakışma olasılığı pratik olarak sıfıra yakındır.

c. UUID v3 ve v5 (Hash’e Dayalı)

  • Bu sürümler, bir giriş (örneğin bir ad) ve bir alan (namespace) üzerinde kriptografik hash algoritmaları (MD5 veya SHA-1) çalıştırılarak oluşturulur.

Benzersizlik Garantisi: Aynı giriş ve alan kombinasyonu her zaman aynı GUID’i üretir, ancak farklı girişler farklı GUID’ler üretir.


3. Çakışma Olasılığı

Matematiksel olarak aynı GUID’in tekrar oluşturulma olasılığı inanılmaz derecede düşüktür. Örneğin, trilyonlarca GUID oluşturulsa bile çakışma olasılığı hâlâ sıfıra yakın olur. Bu durum, “doğum günü paradoksu” ile ilişkilidir, ancak GUID’in geniş uzayı bu paradoksu etkisiz kılar.


4. Benzersizlik Kontrolleri

  • Merkezi Sistem Gerekmez: GUID’lerin benzersizliği, merkezi bir kontrol mekanizmasına ihtiyaç duymadan sağlanır.

  • Dağıtık Sistemler için İdeal: Zaman, rastgelelik ve MAC adresi gibi yerel bilgiler benzersizliği sağlar.