Bu makalemizde bir veri tabanında bulunan verilerden veri ambarı nasıl oluşturulur onları ele alacağız. Öncelikle veri tabanı ile veri ambarı arasındaki farkı anlamamız gerekiyor ki neden bir veri ambarı oluşturduğumuzu bilelim.
-Veri tabanı ile veri ambarı arasındaki fark
Veri Tabanı gerçek dünyadaki verileri temsil eden verilerin toplandığı yerken, Veri Ambarı farklı kaynaklardan ele edilen verileri depolayan bir bilgi sistemidir. Veri tabanları verileri tutmak Veri Ambarları ise verileri analiz etmek için tasarlanmıştır.
Bu tanımlardan da yola çıkarak canlı bir veri tabanından veri ambarına veri nasıl çekilir birlikte bakalım.
Öncelikle bir OLTP diye bir veri tabanımız olduğunu ve içinde bazı tabloların olduğunu düşünelim ve aynı şekilde bir de OLTP_DWH oluşturalım. OLTP bizim veri tabanımız OLTP_DWH ise bizim veri ambarımız.
Daha sonra bize lazım olan SSIS(SQL Server Integration Services) araçları için Visual Studio ortamını açıyoruz.
Buradan sonra yapacağımız işlemleri canlı veri tabanında ihtiyacımız olan her tablo için aynen yapacağız.
Data Flow Task aracını sürükleyip alanımıza bırakıyoruz ve üstüne tıklayarak OLE DB Source ve OLE DB Destination araçlarımızı ekliyoruz.
Burada öncelikle kaynak adresimizi yani veri tabanını ve daha sonra da kaynaktan aldığımız veriyi nereye aktaracağımızı yani veri ambarımızı tanımlayacağız. OLE DB Source yani kaynağımız ve OLE DB Destination yani varış noktamız olan veriyi çekeceğimiz veri ambarını araçlardan sürüklüyoruz.
OLE DB Source ye tıklayarak bağlantımızı kurup hangi tabloya ihtiyacımız varsa seçiyoruz.
Eğer bağlantımız yok ve tanımlamak istiyorsak New dedikten sonra yeni bir bağlantı oluşturuyoruz.
Öncelikle server adımızı girip hangi veri tabanına bağlanmak istediğimizi seçiyoruz ve ondan sonra bağlantımızı test edip onaylıyoruz.
Aynı işlemi daha sonra veri ambarı için OLE DB Destination kısmına tıklayarak tekrardan veri ambarının bağlantısını ve ona karşılık gereken veri ambarında ki tabloyu new butonuna basarak oluşturuyoruz.
Daha sonra mapping kısmından tabloları karşılaştırıp doğru eşleşip eşleşmediğini kontrol ediyoruz.
Evet bu adımları yaptıysak çalıştırıp artık veri tabanından veri ambarına yeni tablo oluşturup verileri aktardığını gözlemlemiş olacağız. Bu aşamada şöyle bir sorun karşımıza çıkacak eğer ki biz birden fazla çalıştırırsak aynı verileri birden fazla veri ambarına basmış olacağız bunun önüne geçmek için son olarak da başlangıçta oluşturduğumuz Data Flow Task’a bir tane Execute SQL Task ekleyelim.
Eklediğimiz Execute SQL Task içine girip bağlantımızı kurduktan sonra SQL statement kısmından tablomuzu ‘Truncate table’ ile her çalıştığında tabloyu boşaltıp yeniden doldurmasını sağlayalım ve bu sayede veri çoklanmasının önüne geçmiş oluruz.
Artık işlemimiz bitti ve veri tabanından veri ambarına SSIS ile veri çekmeyi gerçekleştirdik bundan sonra yapmamız gereken ihtiyacımız olan her tablo için bunu yapmak olacak ve elinizdeki projenin ihtiyaçlarına göre dilerseniz master paket oluşturup bütün bu oluşturduğumuz paketleri içine koyar dilerseniz SQL server da joblar oluşturup bunları otomatikleştirebilirsiniz.
Faydalı olması dileğiyle…
0 Yorum