Attribute Relationship Type: Rigid mi yapmalı flexible mı?


SQL Server 2008’de dimension tasarladığınızda, Attribute Relationship’larla ilgili yeni bir sekme geldiğini görmüş olabilirsiniz. Belki de henüz fark etmediniz. Ya da şu ana kadar yazdığım cümlelerden hiçbir şey anlamadınız. O zaman muhtemelen Analysis Services’la işiniz yok, bu yazıyı da okumanıza gerek yok.

Ama o sekmeyi fark edip içindeki konuları merak edenler için birkaç bilgi:

1. Attribute Relationships yeni bir kavram değil. Analysis Services’in 2005 versiyonunda da vardı. Ancak ayarlandığı yer biraz karışık ve hafif gizliydi. Şimdi açık açık ortaya çıkmış durumda.

2. Attribute relationshipler doğal hiyerarşilerle gezinim hiyerarşilerini birbirinden ayırmanızı sağlar. Yıl, çeyrek, ay, gün, saat seviyelerini düşünün. Bu beş seviyenin kullanılabilecek tek dizilim şekli (çok özel durumlar hariç) budur. Yani bu bir doğal (ve zorunlu) hiyerarşidir. Tabii ki sadece yıl ve ay alabilirsiniz. Ya da benzerleri… İçinden birkaç seviyeyi seçmek bu doğal hiyerarşinin yönünü bozan bir şey değildir. Ama mesela ay, gün, yıl gibi bir kullanımınız olmaz.

Eğer bu beş hiyerarşi seviyesi şunlar olsaydı: Cinsiyet, saç rengi, göz rengi, medeni hal, yaş grubu… Bu durumda bu beş seviye içinde olması gereken doğal bir sıralama yoktur. Herhangi bir sırada ele alınabilir. Bu tür hiyerarşilere ben gezinim hiyerarşisi diyorum. Kullanıcı bu tür veriler üzerinde istediği bakış açısıyla gezebilir.

Attribute relationshipleri oluşturduğunuz zaman, bir hiyerarşinin doğal hiyerarşi olduğunu Analysis Services’a söylemiş olursunuz.

Peki ne fark eder? Zamanla ilgili 5 seviyede tek bir dizilim olabiliyorken, fiziksel özelliklerle ilgili ikinci örnekteki 5 seviye 120 farklı şekilde (5 * 4 * 3 * 2 * 1) gezilebilir.

Analysis Services’in performansla ilgili sunduğu en önemli avantajlardan birisi, özetleri (aggregations) önceden hesaplamaktır. Doğal hiyerarşiler hesaplanacak özetleri seçmek için çok önemlidir. Çünkü gezinim hiyerarşilerinin hepsi hesaba katılarak özetler hesaplanamaz. Bunu yapmaya kalksak, 1 GB verimiz için 99 GB özet hesaplayıp kaydetmek zorunda kalabilirdik.

3. Yine bu sekmede ayarlanan ilişki tipinin Rigid ya da Flexible olması da yeni bir konu değildir. Ne işe yarar rigid ya da flexible yapmak? Rigid yaptığınızda o ilişki tipinde oluşmuş bir ikilinin asla bozulamayacağı anlaşılır. Mart her zaman birinci çeyreğin ayıdır gibi… Flexible ise ilişki ikilisinin bozulabileceği anlamına gelir. Çorum bayiniz bugün Orta Anadolu bölgeye bağlıyken yarın Kuzey Anadolu bölgesine bağlı olarak değiştirilebiliyorsa flexible yaparsınız.

Bir ilişkinin asla değişemeyeceğini biliyorsanız, rigid yapın. Belki de sizin bayilerinizin bölgesi değişemez bir ilişkidir. Rigid yapmanız iyi olur.

Peki rigid yapmanın ne faydası vardır? Boyutla ilgili incremental process’lerde önceki aggregateleri doğru kabul ederek çalışma şansı olur Analysis Services’ın. Böylelikle zaten asla değişmeyecek bir ilişki için her seferinde tekrar tekrar hesap yapmamış olur.

Bu yazı SSAS, Tabular Mode ve PowerPivot içinde yayınlandı ve olarak etiketlendi. Kalıcı bağlantıyı yer imlerinize ekleyin.

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Google fotoğrafı

Google hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Connecting to %s