SQL Server Veritabanı Yöneticileri / Geliştiricileri geçmiş dönemlerde veri aktarım süreçlerinde SSIS ( SQL Server Integration Services ) ile çalışırdı. Microsoft Azure’un gelişmesi ve kullanılması ile yeni bulut entegrasyon aracı olarak hayatımıza Azure Data Factory girmeye başladı. Bu yazımızda SSIS ile Azure Data Factory karşılaştırmasını yapmaya çalışacağım.
Azure Data Factory (ADF), kurum içi ve bulut sistemleri arasında verilerin taşınmasının yanı sıra karmaşık veri akışlarının düzenlenmesi ve planlanlası ( zamanlanması ) için varolan bir bulut entegrasyon sistemidir. ADF geleneksel bir ETL’den daha fazlasıdır.
# ADF, hem kurum içi hem de bulut üzerinde yer alan dosya sistemleri ile veritabanı sistemleri arasında veri aktarmak için nispeten basit veri akışlarını yapılandırma özelliklerine sahiptir. ADF ile , SQL Server, Azure SQL Veritabanı, Oracle, MySQL, DB2 gibi birçok farklı veritabanı sistemine, ayrıca yerel dosya sistemi, blob deposu, Azure Data Lake ve HDFS gibi Büyük Veri sistemlerine bağlanabilir.
# Alternatif olarak, SSIS paketlerini başlatmak için ADF’yi de kullanabilirsiniz.
Dönüştürme işlemleri için, ADF farklı Azure hizmetleri sunabilir ve Azure Data Lake Analytics, Pig, Hive, Hadoop ve Azure Machine Learning API hizmetleri gibi farklı veritabanları ve diğer veri işleme sistemleri tarafından barındırılan komut dosyalarını tetikleyebilir.
Neden Azure Data Factory ?
Şirket içi veriler için veri entegrasyon işlemlerinde SSIS’i kullanabilirsiniz, ancak verileri buluta / buluttan taşımak zordur.
# Job scheduling and orchestration : Veri entegrasyon tasklarını tetiklemek için en popüler olan SQL Server Agent servisleri bulutta mevcut değil. Veri taşıma görevleri için SQL VM’deki SQL Agent hizmetleri, Azure scheduler ve Azure Automation gibi başka birkaç alternatif olsa da, ADF’de yer alan iş planlama özellikleri en iyisi gibi görünmektedir. Ayrıca ADF, işlem tabanlı veri akışları ve bağımlılıkları oluşturmaya izin verir. Örneğin, veri akışları, dosyalar belirli bir klasöre yerleştirildiğinde başlatılacak şekilde yapılandırılabilir.
# Security – Güvenlik: ADF, kurum içi ve bulut kaynakları arasındaki aktarımdaki verileri otomatik olarak şifreler.
# Scalability – Ölçeklenebilir : ADF, dahili paralellik ve zamanlama planlayıcısı özellikleri sayesinde büyük veri hacimlerini işlemek için tasarlanmıştır ve birkaç gigabayt veriyi birkaç saat içinde buluta taşımanıza yardımcı olabilir.
# Continuous integration and delivery – Sürekli Entegrasyon ve Dağıtım: GitHub ile ADF entegrasyonu, Azure’da geliştirme, oluşturma ve otomatik olarak dağıtma olanağı sağlar.Ayrıca tüm ADF yapılandırması bir Azure ARM şablonu olarak indirilebilir ve ADF’yi diğer ortamlara (Test, QA ve Production) dağıtmak için kullanılabilir. PowerShell konusunda uzman olanlar için, ADF, PowerShell kullanarak tüm bileşenlerini oluşturmanıza ve dağıtmanıza olanak tanır.
# Minimum kodlama gerekli : ADF yapılandırması JSON dosyalarına dayanır ve ADF v2 ile gelen yeni bir arabirim, çok fazla kodlama olmadan etkileşimli olarak Azure Portal’dan bileşen oluşturmaya izin verir.
Azure Data Factory – Ana Kavramlar
ADF’nin nasıl çalıştığını anlamak için, aşağıdaki ADF bileşenlerini öğrenmemiz gerekir.
# Connectors or Linked Services : Linked Services, belirli veri kaynaklarına yapılandırma ayarları içerir. Bu, sunucu / veritabanı adı, dosya klasörü, kimlik bilgileri, vb. İçerebilir. İşin niteliğine bağlı olarak, her veri akışında bir veya daha fazla hizmet olabilir.
# Datasets – Veri Kaynakları: Veri kümeleri ayrıca veri kaynağı yapılandırma ayarlarını içerir, ancak daha ayrıntılı bir düzeydedir. Veri kümeleri bir tablo adı veya dosya adı, yapısı vb. İçerebilir. Her veri kümesi, belirli bir bağlantılı hizmete atıfta bulunur ve bu bağlantılı hizmet, olası veri kümesi özelliklerinin listesini belirler.Linked Services ve Datasets SSIS’nin OLE DB Source, OLE DB Destination gibi veri kaynağı / hedef bileşenlerine benzer, ancak SSIS kaynak / hedef bileşenleri, bağlantıya özgü tüm bilgileri tek bir varlıkta içerir.
# Activities : Faaliyetler eylemleri temsil eder, bunlar veri hareketi, dönüşümler veya kontrol akışı eylemleri olabilir. Etkinlik yapılandırmaları veritabanı sorgusu,stored procedure gibi ayarları içerir. Bir Activities sıfır veya daha fazla giriş veri kümesi alabilir ve bir veya daha fazla çıkış veri kümesi üretebilir.
# Pipelines : Pipelines,Activities’lerin mantıksal gruplamalarıdır. Bir data factory bir veya birden fazla pipeline’a sahip olabilir ve her pipeline bir veya daha fazla aktivite içerebilir. Pipeline kullanılması mantıksal olarak ilişkili birden fazla aktivitenin programlanmasını ve izlenmessini çok kolaylaştırır.
# Triggers – Tetikleyiciler : Tetikleyiciler, pipeline içerisinde zamanlama yapılandırmasını temsil eder ve başlangıç / bitiş tarihi, çalıştırma sıklığı gibi yapılandırma ayarını içerir. Tetikleyiciler ADF uygulamasının zorunlu parçaları değildir fakat istenirse pipeline için de kullanılabilir.
# Integration runtime : Integration Runtime (IR), ADF tarafından veri hareketi sağlamak için farklı ağ ortamlarında bilgi işlem yetenekleri sağlamak için kullanılan bilgi işlem altyapısıdır.
* Azure IR
* Self-hosted IR
* Azure-SSIS IR
Örnek bir Azure Data Factory yapısı :
Resim-1
Peki nereden başlamalı?
ADF bir Azure hizmetidir ve bir Azure aboneliği gerektirir. Azure aboneliğiniz yoksa, buradan sınırlı bir süre için bir tane ücretsiz alabilirsiniz. ADF oluşturabilir ve gerekli tüm yapılandırmaları doğrudan Azure Portalı’nda yapabilirsiniz. ADF’nin şu anda iki sürümü mevcut. Bunlar v1 ve v2’dir. v2, v1’e göre çok daha gelişmiş işlevsel özelliğe sahiptir. ADF oluştururken v2’yi seçmeniz daha iyi olacaktır.
Bu konuyla ilgili sorularınızı alt kısımda bulunan yorumlar alanını kullanarak sorabilirsiniz.
Referanslar
TAGs: ADF, Azure Data Factory Nedir, Neden Azure Data Factory, SSIS ve ADF