Guid-Yapısı-Nerelerde-Kullanılır_emresupcinMerhaba arkadaşlar,

Az önce sizlere yazmış olduğum makalemde C# ile Guid kullanımını anlatmıştım ve kısaca da Guid’in tanımını yapmıştım. Bu yazımda ise Guid’in yapısına ve nerelerde kullanıldığına değineceğim. Biz insanları dünya üzerinde benzersiz yapan (Globally Unique) şeyler vardır, Örnek verecek olursak;

 
Cep telefonu kimliğiniz yani IMEI numarası diyebiliriz. GUID mantığına güzel bir örnektir IMEI, zaten anlamı International Mobile Equipment Identity‘dir, benzersizdir.

 

 

GUID’in Yapısı
GUID’ler üretildikleri sistemlerin MAC adresi, gün, ay, yıl, saat gibi değerlerini ve sistemin active directory’deki donanım bilgilerini de  kullanarak 128 Bitlik (16- Bytelık) veriler olarak oluşturulup saklanır; genellikle 32 basamaklı olarak, 16′lık sayı sistemine göre (hexadecimal) ve belirli dijitler (sayı grupları) halinde görüntülenir.  Örneğin :  21EC2020-3AEA-1069-A2DD-08002B30309D
GUID benzersizlik konusunda kendine fazlaca güvenir şöyle ki “dünyanın neresinde, kim, ne zaman oluşturursa oluştursun” benzersizdir.

 
Yazılım Dünyasında Nerede Kullanılır?

 
– Veritabanı Uygulamalarında GUID Kullanımı:

 
Bir veritabanı oluşturuyorsunuz ve tablolardaki ID’lerin de birbirleriyle benzersiz olmasını istiyorsunuz. Örneğin: Uyeler adlı tablodaki UyeId ile Siparisler adlı tablodaki SiparisId’sinin dahi aynı olmasını istemiyorsanız, bu durumda imdadınıza GUID yapısı yetişecektir. Aşağıdaki ekran görüntüsünde küçük ve orta ölçekli  ASP.NET projelerinde fazlaca kullanılan Membership uygulamasında ID’lerin oluşturulmasında GUID kullanıldığını görüyoruz.

 

 

Veritabanında GUID kullanımının dezavantajı var mı?

 

Evet var. Veritabanı kayıtlarının fazla  olmadığı küçük ve orta ölçekli projelerde etkilenmesenizde, büyük çaplı projelerde ve kayıtların yüzbinlerle veya milyonlarla ifade edildiği veritabanlarında Primary Key olarak GUID kullanımına dikkat edilmeli ve alternatiflerin olduğu, riskin olmadığı durumlarda Primary Key olarak GUID kullanmamaya özen gösterilmeli çünkü veritabanı indexlemede index yapısının hızını keseceğinden bu durum size ciddi birperformans kaybı olarak geri dönecektir. Burada dikkat edilmesi gereken GUID’in gereksiz yere Primary Key olarak kullanılmamasıdır.

 

– Web Tabanlı Projelerde GUID Kullanımı:

 

Web tabanlı projelerde GUID kullanımı daha fazla yer bulabiliyor, bu kullanım bazı yerler için neredeyse zorunlu bazı yerler içinse tercihinize bağlıdır. Bir kaç örnek vermemiz gerekirse:

 

Örnek 1:


Web sitenizde üyeler resim yüklüyor varsayalım. Resimler belirli bir dizinde saklanıyor ve veritabanında URL yolu (Path) tutuluyor. X kişisi abc.jpg adlı resim dosyasını sisteme yükledi, ardından Y kişisi de aynı ada ve uzantıya sahip abc.jpg resim dosyasını yükledi. Geçmiş olsun. Ortaya çıkacak sorunları konuşmaya gerek yok sanırım. 🙂 Bu durumu engellemek için kullanıcıların yüklediği resimlerin adlarına otomatik olarak bir GUID  değeri atarsak bu sorundan kurtuluruz.

 

Örnek 2:


Üyelik sisteminiz var ve her bir üyeye benzersiz ID’ler vermek istiyorsunuz.  Tabi bu zor bir durum değil bir çok yöntemle farklı ID atayabilirsiniz ama GUID kullanımı bu durum içinde hızlı bir çözüm sunar. Örneğin: Second Life adlı online oyun.  Second Life’da her bir üyenin sistemdeki kayıtlı kimliği için GUID yapısı kullanılmış.

Yazar
Yazar
Bilgisayar Programcısı, Web Tasarımcı, Üniversite Öğrencisi...
Twitter Facebook Google Linkedin Flickr YouTube

Önceki Yazı:C# Kullanarak Guid Kullanımı Nasıl Olur?

Sonraki Yazı:Favicon Nedir?

BENZER YAZILAR
YORUMLAR
SİZ DE CEVAP YAZABİLİRSİNİZ
Bu yazı hakkında görüşünüzü belirtin.

ES Web Tasarım Web Tasarım Blog Teması Emre Supçin Bu tema ES Web Tasarım tarafından düzenlenmiştir. Hiçbir şekilde kopyalanamaz.