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

VISUAL STUDIO SSIS PACKAGE TOOLS

ETL 6 ay önce

Bu makalede Visual Studio ile hazırlayacağınız SSIS packages kullanılan araçlardan ve birkaç farklı bakış açısından bahsedeceğim. Birçok işte olduğu SSIS package hazırlarken de kendi kurum ve kurumlarımızın ihtiyaç ve planlarına yönelik olarak yapabileceklerimizi kendimize göre ayarlayabiliriz. Görsel – 1 Bir Execute SQL Task ile yapabileceklerimizden birkaç tanesine birlikte bakalım. Görsel – 2 SQLSourceType kısmında kullanabileceğimiz 3 farklı seçenek bulunmaktadır, Direct input: SQL sorgusunu doğrudan SQLStatement kısmına yazabilmemizi sağlar. File connection: Kaydetmiş olduğunuz bir SQL komut dosyasınızı FileConnection ‘dan direk sorgularınızın çalıştırılmasını sağlar. Variable: Variables olarak belirlemiş olduğunuz ve bu menüden kontrolünü sağlayarak görüntüleyebileceğiniz bir değişkeninizden SourceVariable kısmında belirterek çalıştırılmasını sağlar. Belirlemiş olduğunuz SQLSourceType ile SQL Task Execute olduğunda direk bir sonraki adıma geçebilir veya buradaki çıktınızı “Result Set” kısmında bir değişkene de atıyabilirsiniz. SSIS Toolbox içerisinde bulunan Containers sekmesinden farklı Container çeşitleri bulunmaktadır bunlardan biri olan For Loop Container ‘a göz atalım.   Görsel –3 Görsel – 4 Görsel – […]

SSIS CONNECTION MANAGER

ETL 8 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 8 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üğü […]

0 Yorum

Yorum Yaz

Rastgele