ETL

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

ETL 2 hafta ö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 […]

MS SQL SERVER DATABASE MODLARININ INSERT İŞLEMLERİNDE PERFORMANSI

ETL 7 ay önce

  Bu yazımızda Microsoft SQL Server’da veritabanı modellerinin Integration Services Package yoluyla insert işleminde performanslarını ele alacağız. Microsoft SQL Server’da veritabanı modları, verilerin nasıl saklandığı ve yönetildiği konusunda belirli davranışları belirler. 1- Full Recovery Model Bu mod, veri kaybını en aza indirmek için ayrıntılı bir geri yükleme stratejisi sunar.Tam geri yükleme modeli, yedekleme, günlük dosyaları ve işlem günlüğü kayıtları arasında ayrıntılı bir ilişki oluşturur.Bu mod, tam yedekleme (full backup), fark yedekleme (differential backup) ve işlem günlüğü yedeklemesi (transaction log backup) gibi yedekleme türlerini destekler. 2- Simple Recovery Model Bu mod yedekleme ve geri yükleme sürecini basit tutar.Basit geri yükleme modeli, tam yedekleme (full backup) dışında herhangi bir fark yedekleme veya işlem günlüğü yedeklemesi türünü desteklemez.İşlem günlüğü, dolması tamamlandığında otomatik olarak temizlenir. 3- Bulk-Logged Recovery Model Bu mod, büyük hacimli veri ekleme ve değiştirme işlemlerini hızlandırır. Tam geri yükleme modeline kıyasla daha az işlem günlüğü kaydedilir, bu da yedekleme ve geri […]

SSAS’de Yeni Proje Oluşturma

ETL 7 ay önce

Bu yazımızda, veri analizi ve iş zekası sürecinde kullanılan SSAS’de yeni bir proje oluşturma sürecini ele alacağız. SQL Server Analysis Services (SSAS), Microsoft SQL Server’ın bir bileşeni olarak veri analizi ve iş zekası sağlayan bir hizmettir. SSAS, işletmelerin büyük veri kümelerini işlemesine, veri analizi yapmasına ve bu verilerden anlamlı bilgiler çıkarmasına yardımcı olur. SQL Server Analysis Services (SSAS) ile yeni bir proje oluşturmak için aşağıdaki adımları izleyebilirsiniz: 1. Visual Studio‘yu açın. Bu, SSAS projelerini oluşturmak ve yönetmek için kullanılır. 2. Yeni Proje Oluşturma: • “File” menüsünden “New” seçeneğini seçin. • Ardından “Project” veya “New Project” seçeneğini tıklayın. 3. Proje Türünü Seçin: • “Analysis Services” altında, yeni projenizin türünü seçin. • “Multidimensional Project” veya “Tabular Model Project” seçeneklerinden birini seçin. Projenizin ihtiyaçlarına bağlı olarak hangi modeli kullanmanız gerektiğini seçin. • Yeni proje için bir ad belirtin ve projenizin saklanacağı konumu seçin. 4. Veri Kaynağı Tanımlama: • Projenize bir veri kaynağı eklemek […]

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

ETL 12 ay önce

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

SQL Server’dan Logstash ile FTP Veri Aktarımı

ETL 1 yıl önce

SQL Server’dan veri çıkarmak istediğimizde bunun birçok yöntemi vardır. Bu yöntemlerden biri de Logstash kullanmaktır. Logstash bulk copy veri aktarımı yaptığı için hızlı veri aktarımında denenmesi güzel sonuçlar vermektedir. Bu makalede SQL Server üzerinde bulunan verilerin txt formatında bir ortama çıkarılması ve bu formatta çıkarılan verilerin FTP ile uzak sunucuya otomatik olarak her gün bırakılması adımlarını izleyeceğiz. Uzun süreli veri paylaşımları için FTP yerine web servis kullanılması, hem hatanın tespiti hem de FTP’de yaşanacak problemlerin önüne geçilmesini engelleyecektir. Biz işlemlerimizi 3 farklı ortamda gerçekleştirdik. 1.ortamımız SQL Server’da verilerin tutulduğu ortam, 2.ortam Logstash’ın bulunduğu ortam, 3.ortamımız ise verilerin aktarımının gerçekleştirildiği ve FTP aktarımının yapıldığı ortam. FTP ortamı ile verilerin txt dosya formatına çıkarıldığı ortamı aynı yerde tutmamızın sebebi, FTP ile atılacak verilerin hızlı bir şekilde aktarımının yapılmasını sağlamaktır. Verilerin standart olarak belirli tarihler arasında aktarımın yapılabilmesi için aşağıdaki logstash config dosyasını kendi ihtiyaçlarımızı belirledikten sonra kullanabiliriz. Yukarıdaki config dosyasını çalıştırmak için, […]

SQL Server’dan ElasticSearch’e Veri Aktarımı

ElasticSearch 2 yıl önce

Bu yazıda MSSQL üzerinde yer alan bir tablomuzu ElasticSearch’e nasıl aktarabileceğimiz konusuna değineceğiz. Bu aktarımları, alanında en iyi çözüm olarak gördüğüm Logstash kullanarak gerçekleştireceğiz. Ayrıca daha sonraki güncellemeleri de yapabilmemiz için aktarımını yapacağımız tabloda arayacağımız bir özelliğimiz olacak. Bu özellikten kastım otomatik artan bir integer alan yada her kaydın eklendiği tarihi ihtiva eden bir datetime alan. Öncelikle aktaracağımız tabloyu tanıyarak başlayalım ve adım adım ilerleyelim. Farz edelim ki okuldaki öğretmenlerin kayıtlarını içeren Ogretmen adında bir tablomuz var. Bu tablomuzda otomatik artan bir Id alanımız mevcut ve yine her kayıt ile birlikte otomatik olarak eklenen bir KayitTarihi alanı bulunmakta. Adım adım devam edeceğiz.     1. Adım : Logstash Nedir? Logstash açık kaynak kodlu ve bir çok kaynaktan data okuyarak, bu datayı isteğinize göre dönüştürüp çeşitli kaynaklara yazabilmenizi sağlayan bir araçtır. Genellikle ElasticSearch için kullanılmakta olup diğer birçok ortam içinde tercih edilebilir. Logstashi tıklayarak indirebilirsiniz. Hem Windows hem de Linux ortamında çalışabilmektedir. […]