Veri Tabanından Veri Ambarına SSIS İle Veri Aktarımı

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ı […]

Veri Tabanından Veri Ambarına SSIS İle Veri Aktarımı

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…

Benzer Yazılar

SSIS CONNECTION MANAGER

ETL 2 ay önce

Bu makalede Visual Studio ‘da SSIS Connection Manager ile sunucular arasında bağlantı sağlama adımlarından bahsedeceğim. SQL Server Integration Services (SSIS) süreçlerini yönetmek ve geliştirmek için birçok seçenek var bunlardan bazılarını örnek vermek gerekirse; Visual Studio, Azure Data Factory (ADF), Third-Party (KingswaySoft, COZYROC SSIS) bunların yanında tabi SQL Server üzerinde de bu işlemlerimizi yapabiliriz. Ben bunlardan en yaygın olarak kullanılan Visual Studio üzerinden yaptığım çalışmalar kapsamında örnekler vermeye çalışacağım. Visual Studio üzerinden bir SSIS packages oluşturarak farklı sunucularda bulunan verileri taşıma işlemlerini yaptırmak istiyorum. Bunun için öncelikle sunucularda ilgili yetkilendirilmesi yapılmış bir kullanıcınızı olduğunu varsayarak ilerleyeceğim ama buradaki senaryolardan konuşmak istiyorum biraz örneğin; Kullanıcı Senaryosu 1: 142.142.0.42 sunucudaki A veri tabanında okuma yetkisine sahip “kullanici1”, 242.242.0.42 sunucusundaki B veri tabanında yazma yetkisine sahip “kullanici2” kullanıcılarına sahipsiniz Kullanıcı Senaryosu 2: 142.142.0.42 sunucudaki A veri tabanında okuma yetkisine, 242.242.0.42 sunucusundaki B veri tabanında yazma yetkisine sahip “kullanici3” kullanıcısına sahipsiniz Bu iki senaryoda da […]

INTEGRATION SERVICES KURULUM

ETL 2 ay önce

Bu makalede SQL Server Integration Service Feature kurulum adımlarından bahsedeceğim. NOT – 1: SQL Server Integration Service Feature kurulum aşamasında ve sonrasında sunucu restart veya SQL Server service restart gerekmemektedir. NOT – 2: Mevcutta WFCI kurulmuş olan bir ortamınıza sonradan SQL Server Integration Service Feature eklemenize desek vermemektedir, ancak WFCI SQL Services ilk kurulumunda “Feature Selection” sekmesinden Integration Service seçmeniz durumunda kurulumunu yapabilirsiniz. SQL Server kurulum aşamasında eğer Integration Service kurulumunu yapmadıysanız, Integration Services Catalog gelerek sağ tıkladığımızda Create Catalog seçeneğini tıkladığımızda kurulumunu yapmak istediğimizde aşağıdaki görsellerdeki şekilde hatalar alacaksınız. Görsel – 1   Görsel – 2   Görsel – 3   Yukarıda Görsel – 3 ‘te Sql Server Configuration Manager ‘dan kontrol sağladığımızda SQL Server Integration Services olmadığını görüyoruz. Örnek görsellerde görüldüğü üzere SQL Server ‘da ilgili features olmadığı ile ilgili hatayı alıyoruz bu hatayı gidermek için features ekleyeceğiz. Görsel –4 Görsel –5   Görsel – 6 ‘da görüldüğü […]

SSIS’de STAGING KULLANARAK DEĞİŞEN VE YENİ EKLENEN VERİ AKTARIMI

ETL 8 ay önce

Bu yazımızda ETL süreçleri ile veri aktarımı yaparken sadece değişen ve yeni eklenen verilerin aktarımını nasıl yapılacağını öğreneceğiz. ETL süreçlerinde veri aktarımı yapılırken aktarılacak verinin boyutu küçük, değişen ve yeni eklenen veriler olması durumda SSIS paketlerinde hedef tablolarımızı ilk önce “Truncate table” komutu ile tablonun içerisinin boşaltılarak tüm veriyi yeniden çekiyoruz. Ancak bu yöntem büyük veri bulunan tablolarda sunucu sistemlerimizin gereksiz olarak yorulmasına ve SSIS süreçlerinin uzamasına sebebiyet vermekte ve verimli bir yol olarak izlenmemektedir. Büyük veri tablolarında bu şekilde veri aktarımı yapmak için staging yapısını da kullanmak gerekmektedir. Staging ile Duplicate value ve Veri kaybı gibi hataların olmasını engellenmek amaçlanmaktadır. Bu süreçte en önemli konulardan biri ise, aktarım yapılacak tablonun UNIQUE bir kolonu, değişen veri ve yeni eklenen verinin yazıldığı zamanı belirten bir tarih kolonun olması gerekmektedir. 1. İlk olarak Visual Studio Integration Tool kullanarak yeni proje oluşturuyoruz. Görsel 1: Yeni Proje Oluşturma 2. Oluşturacağımız proje Integration Services Project […]

0 Yorum

Yorum Yaz

Rastgele