Azure Synapse Analytics Data Lake Data Warehouse Power BI Spark Pool SQL Pool Veri Gölü

Azure Synapse Analytics ile Bütünleşik Büyük Veri Analitiği - 2

2020-12-12 Abdullah Kise

Önceki yazımızda Büyük Veri analitiği ihtiyaçları hakkında konuşarak Azure Synapse Analytics hizmetinin sunduğu çözümleri daha iyi kavramayı hedefledik.

Önceki yazımıza şu linkten erişebilirsiniz:

https://www.devcosci.com.tr/Blog/BlogPost/Azure-Synapse-Analytics-ile-Butunlesik-Buyuk-Veri-Analitigi_Giris

Şimdi gelin Azure Synapse Analytics hizmetinin öne çıkan farklı yönlerine biraz daha yakından bakalım.

Azure Synapse Studio

Öncelikle Azure üzerinde bir Synapse Workspace oluşturmak gerekli. Workspace oluştururken bir de Data Lake Storage oluşturmanız gerekecek. Bu storagei daha sonra bağlı servis olarak görüp kullanabilirsiniz.

Workspace oluştuktan sonra her şey Azure Synapse Studio ile kolayca aktif edilip kullanılabiliyor.

 

Azure Synapse Studio ile SQL ve Spark enginlerini (pool) aktif edebilir, Azure Storage ve Power BI gibi bağlı servisler oluşturup bu servisleri kullanabilir, ETL ve orkestrasyon için Pipeline ve DataFlow oluşturabilir, SQL Scriptlerinizi, Notebooklarınızı ve diğer geliştirmelerinizi depolayabilirsiniz. İşlemci kapasitesini ihtiyacınıza göre ayarlayabilir, yetkilendirmeler yapabilir, tüm çalışmalar hakkında toplanan logları inceleyerek serviste olup biteni takip edebilirsiniz.

SQL Pools

Workspace oluşturduğunuzda sanal bir SQL sunucu otomatik olarak kullanımınıza sunulur. Bu sunucu size özel performans sunmaz. Ortak kullanım amaçlıdır ve testler yapabilmeniz için idealdir. Bu sunucuya ister Synapse Studio ile isterseniz overview penceresinde de belirtildiği şekliyle -ondemand.sql.azuresynapse.net adıyla lokalinizden bağlanabilir, veritabanları oluşturup üzerinde çalışabilirsiniz.

SQL Pool bir nevi SQL veritabanıdır. Siz de kendinize özel bir server kapasitesi talep ederek yeni bir SQL Pool oluşturabilirsiniz. Oluştururken ihtiyacınız olan kapasiteyi DW…c birimi ile ifa edebilir, ihtiyacına bağlı olarak daha sonra değişiklik yapabilir, ihtiyaç duymadığınızda sanal sunucuyu duraklatabilirsiniz. 

 

Size özel bu sanal sunucuya da aynı şekilde lokalinizden .sql.azuresynapse.net server adıyla bağlanıp çalışabilirsiniz. 

 

 

Synapse Studio’da Manage bölümünden poolları oluşturup, yönetebilirsiniz.

 

SQL Pool dağıtık mimariye sahip bir SQL Server alt yapısı sunuyor. Bu altyapı ile son sürüm SQL Engine yeteneklerinden faydalanabiliriz. Mesela dahili PolyBase Engine sayesinde ilişkisel olamayan verileri SQL içerisinde bir tablo olarak, her defasında direk kaynağından güncel haliyle bilindik yöntemde sorgulama imkanına kavuşuyoruz.

Örneğin Azure Data Lake Storage’de depolanan csv dosylarını External Table olarak tanımlayabiliriz. Bu sayede veri SQL Server dışında storgede, tablo tanımı SQL Server’da yer alıyor. Diske gelen her yeni dosya içeriği ek bir müdahalede bulunmadan sorgularımızda anında listeleniyor.

 

Dilerseniz bu External Table nesnelerini dağıtık mimarı içerisinde sizin belirttiğiniz şekilde dağıtılan kalıcı tablolar da oluşturabilirsiniz. Ekrandaki örnekte dbo.KisilerStg extarnal table olarak tanımlandı, dbo.Kisiler ise Round Robin (diğer yöntemler Replicated ve Hash) yönetimiyle dağıtılan kalıcı tablo olarak tanımlandı. Kalıcı tabloların columnstore indexlerle desteklenmesi ve dağıtık mimari ile işlenmesi neticesinde Azure Synapse performansını en üst seviyede hissetmeniz sağlanmaktadır.

Özetle yapısal formatta çalışılan veri ambarlarınızı SQL Pool ile oluşturabilirsiniz.

Integrate

Synapse Studio üzerinde Integrate bölümünde Pipeline ve DataFlow oluşturarak veri akışını ve düzenlenmesini kurgulayabilirsiniz. Aslında bu bölüm Azure Data Factory ile hemen hemen aynı özelliklere sahiptir. 

Oluşturduğunuz akışları anında tetikleyebilir veya daha sonra çalışacak şekilde zamanlayabilirsiniz.

 

 

 

Spark Pool

Spark Pool bir Spark Engine hizmeti sunmaktadır. Yani Spark Core API (Scala, Python vs.), Spark SQL, Spark Streaming, GraphX ve Spark ML bileşenlerinden faydalanabilirsiniz.

Spark Pool dağıtık mimari kullanır. Ölçeklendirmeyi kolayca yapabilirsiniz ve bunu otomatikleştirebilirsiniz.

 

Spark InMemory çalışabilen, iteratif işlerde başarılı, dağıtık mimariye sahip ve her türden veriyi işleyip, görselleştirebileceğiniz ve hatta makine öğrenimi çalışmaları yürütebileceğiniz bir ortam sunmaktadır.

Manage bölümünden Spark poolu duraklatabilir. Performans kapasitesini ihtiyacınıza göre ayarlayabilirsiniz.

 

SQL Pool ve Spark Pool aslında bağımsız çalışır. Dilerseniz bu iki Engineı konuşturabilirsiniz. 

Spark Pool üzerinde çalışmak için Synapse Studio içerisinde yer alan dahili notebook çalışma ortamını kullanabilirsiniz. 

 

 

Özetle her türden veriyi depolamak için veri göllerinizi ve makine öğrenimi projelerinizi Spark Pool üzerinde oluşturabilirsiniz.

Power BI

Power BI, Gartner Magic Quadrant’ında lider konumda ve bu bugünlerde bir hayli yaygın kullanıma sahip kullanıcı dostu bir veri modelleme ve raporlama ürünüdür.

Spark Studio üzerinde bağlı servisler arasına Power BI çalışma alanları ekleyebilir interaktif raporlarınızı doğrudan burada oluşturabilirsiniz.

 

Aşağıdaki gibi bir çalışmayı linkteki tutorialı takip ederek elde edebilirsiniz:

https://docs.microsoft.com/en-us/azure/synapse-analytics/spark/apache-spark-to-power-bi

 

Azure Synapse Analytics hizmeti bir hayli yetenekli. Uçtan uca yapay zekâ ve iş zekâsı çalışmaları yürütebileceğiniz SQL, Spark, Data Factory, Azure Storage ve Power BI ürünlerini bir araya getirmiş, limitsiz depolama alanı sunan, ölçeklenebilir işlem kapasitesine sahip, dağıtık mimaride bütünleşik bir hizmet.

Azure Synapse Analytics ile büyük veri analitiği süreçlerinde ortaya çıkan birçok problemi tek çatı altında çözüme kavuşturmak mümkün görünüyor.