Veri ambarı tasarımında ‘snowflake’ ne zaman kullanılmalı?


Veri ambarı tasarımında denormalizasyon ve ‘star schema’ esastır.

Star schema tasarımı adını görünümünden alır. Tipik bir star schema tasarımında ortada yer alan bir fact tablosunun etrafında onunla doğrudan ilişkili boyut tabloları yer alır. Bu da bir yıldız görünümü vermektedir.

Bazı özel durumlarda boyut tablolarını fact tablosuna bağlı tek bir tablo şeklinde değil de, fact tablosuna bir ucundan bağlı 2’li ya da 3’lü bir tablo zinciri gibi tasarlayabilirsiniz. Buna ‘snowflake’ denir.

Veri ambarlarında verinin yüzde 90’ından fazlası genelde fact tablolarında yer aldığından, boyut tablolarını kendi içinde denormalize olarak tutmayı tercih ederiz. Bunun üç temel sebebi vardır:
1. Veri ambarında sorgulama performansı esas olduğu için joinleri olası en düşük seviyede tutmak isteriz.
2. Veri büyüklüğünün büyük kısmı fact tablolarında yer aldığı için, boyut tablolarının denormalizasyonunun getirdiği veri büyüklüğündeki artış göz ardı edilebilir seviyelerde olmaktadır.
3. Denormalizasyonun temel sorunu olan aynı verinin birkaç yerde güncellenmesinin tutarsızlığa sebep olma riski veri ambarlarında yoktur. Çünkü veri ambarı sadece geceden geceye tam otomatik ETL paketleri tarafından güncellenirler. Kullanıcının güncelleme yapması (genellikle) sözkonusu değildir.

Peki ne durumlarda snowflake kullanmayı tercih edebiliriz?

Şöyle bir örnek düşünün: Dünya çapında 200 milyon müşteriniz var. Bu müşteriler farklı ülkelerden. Müşterilerin ülkeleriyle ilgili 100 ayrı kolondan oluşan ve dış kaynaklı bir veriniz var. Bu verileri müşteri boyut tablosuyla denormalize ederseniz, oluşacak ekstra büyüklük hatırı sayılır bir seviyede olacaktır. Ayrıca iki tablonun çekirdeği birbirinden farklıdır. Üstelik iki tablonun güncellenme sıklıkları da farklı olacaktır. Bu sebepler böyle bir durumda müşteri tablosuna bağlı bir ülke tablosu ile snowflake tasarım yapmayı mantıklı kılmaktadır.

Bu yazı Veri ambarı 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