2 Eylül 2023 Cumartesi

Microsoft Fabric ile Veri ve Analitik Teknolojilerin İdeal Entegrasyonu

Microsoft'un en başarılı bulduğum yanlarından biri de, son derece karmaşık teknolojiler için bile kullanıcı dostu ürünler çıkarma konusunda hassas ve yetenekli olması. 

Mayıs 2023 ile önizlemesi duyurulan Microsoft Fabric bu başarının en güncel örnekleri arasında yerini aldı. Şu günlerde henüz "public preview" aşamasında olan Fabric hakkında bir şeyler söylemeden bekleyemeyeceğim.

Elbette her sistem iyileştirilebilir. Ancak bu haliyle bile Microsoft, Fabric ile bulut tabanlı veri ve analitik teknolojileri birleştirme konusunda ideal bir yol bulmuşa benziyor.

Nedir Bu Microsoft Fabric?

Fabric tanımından önce Lakehouse kavramı hakkında biraz konuşmakta fayda var.

Verilerin bilgisayarlarda depolanmayı başladığı ilk günden bugüne çok fazla şeyle tanıştık. Verinin hızı, türü, büyüklüğü şaşırtıcı derecede değişti, değişmeye devam ediyor. Bu değişime ayak uydurulabilmesi için zamanla bir çok araç ve teknik öne sürüldü. Bunlardan sadece konumuzla doğrudan ilişkili olan veri yönetimi mimarilerine dikkat çekmek istiyorum. 

1970 sonrasında biriken verilerin efektif şekilde analiz edilebilmesi için veri ambarı (Data Warehouse) konseptine odaklandık. Bu alanda ortaya atılan prensipler zamanla olgunlaştı ve Inmon, Kimball metodolojileri olarak bilinir hale geldi. Veri Ambarları uzun zamandır İş Zekası olarak isimlendirdiğimiz ağırlıklı olarak yapısal verinin işlendiği ve raporlandığı önemli bir çalışma alanının bel kemiği haline geldi.

2010 sonrasında verideki değişim kendini iyiden iyiye hissettirmeye başladı. Özellikle 2004'te duyurusu yapılan ve internetin ikinci evresini ifade eden, kullanıcıların da katkı sağlayacak pozisyona gelmesine olanak tanıyan Web 2.0 kavramı meyvelerini verdi. Giderek yaygınlaşan sosyal medya platformları, youtube, wikiler, çevrimiçi iş birliği araçları, akıllı cihazların uygulamaları, dijital fotoğrafçılık vs. derken veri çeşitliliği ve hızı arttı. Artık yapısal verilerle birlikte yapısal olmayan verilerin de işlenmesine ihtiyaç duyulur oldu. Değişimin hızlanmaya başladığı böyle bir dünyada NoSQL veritabanlarının yanı sıra verilerin daha çok depolama aygıtlarında en ham haliyle depolanması tercih edilir oldu. Bu çeşitlilik ve hız veriambarı tasarımları için de alternatif çözümler aramamıza ve zamanla Data Vault gibi çevik tasarım prensiplerinin doğmasına sebep oldu. Bütün bunlarla birlikte rekabette avantaj sağlanabilmesi için olayların iç yüzünü anlamada önemli imkanlar sunan veri bilimi ve makine öğrenimi çalışmalarına da ihtiyaç arttı. Bu gidişat veri gölü (Data Lake) konseptinin doğmasına sebep oldu.

2020'lerde bu iki mimarinin en iyi özelliklerini birleştirmeyi amaçlayan Data Lakehouse mimarisi hakkında konuşur olduk. Çünkü günümüzde neredeyse tüm şirketler rekabette avantaj sağlayabilmek için her türden veriyi sürekli analiz etmek, geçmiş ve gelecek hakkında fikir edinmek zorunda kaldı. 

Lakehouse mimarisine göre çalışan bir platformun anahtar özellikleri şunlardır:

  • Transaction desteği
  • Schema zorunluluğu desteği
  • BI desteği
  • Açık kaynak depolama yöntemlerine destek
  • Depolamanın bilgi işlemden ayrı olması desteği
  • Aynı veri deposunu kullanan farklı iş yüklerinin (DS, ML, SQL vs.) desteklenmesi
  • Uçtan uca akan veri analizine destek
Kuruluşlar lakehouse mimarisine uygun çalışan araçlara her geçen gün daha fazla ihtiyaç duymaktadır. her türden verinin işlenmesi için gerekli olan bu mimarinin hayata geçirilmesinin en yorucu yanı farklı sağlayıcıların ürünlerini birleştirmek olsa gerek.

Microsoft Fabric temelde, OneLake isimli ölçeklenebilir depolama katmanının üzerine inşa edilen ve büyük veri işleme için Apache Spark ve SQL işlem altyapılarını kullanan bir Lakehouse'dur.

Microsoft Fabric, öne çıkan bulut tabanlı veri ve analitik teknolojileri kullanıcı dostu bir bakış açısı ile bir araya getiren yepyeni bir SaaS (Software as a Service) hizmetidir. Amacı veri gölünden raporlamaya kadar geçen tüm süreçler için çözümler sunmaktır.


Microsoft Fabric, veri entegrasyonu, veri depolama, veri mühendisliği, veri bilimi, gerçek zamanlı veri işleme ve iş zekasını kapsayan bulut tabanlı ürünlerle entegre çalışır. Verinin demokratikleştirilmesini, yani her uzmanın veri ile hedeflenen amaca başarıyla ulaşılabilmesi için gerekli araçları ve çalışma ortamını sağlar. 

Synapse Analtics de benzer bir tanıma sahip ancak Microsoft Fabric'te her şey daha derli toplu hale gelmiş ve tüm teknik karmaşa göz önünden kaldırılmış. 

Fabric tüm araçları kullanıcıyı yormadan veri seviyesinde derin bir entegrasyonla ve Power BI benzeri bir arayüz ile sunuyor.

Daha açık konuşmak gerekirse; Microsoft Fabric tüm verilerin OneLake üzerinde depolandığı, SQL ve Spark motorları ile verinin veri seviyesinde bir iş birliği ile işlenebildiği, orkestrasyon ve ETL için Data Factory arayüzlerinin kullanılabildiği, son kullanıcının Power BI'dan alışık olduğu bir arayüzde rapor geliştirebildiği ve internetin olduğu her yerden erişebilen bir SaaS platformu sunuyor.

Konuyu biraz daha açarsak; Microsoft Fabric şu deneyimleri sunmaktadır:
  • OneLake: 
    • OneLake olarak isimlendirilen depolama katmanı OneDrive benzeri bir mantıkla çalışır. Bu depolama katmanı Fabric bileşenleri tarafından ortak şekilde kullanılır. Dosya tabanlı veriler, SQL-Spark tabloları, Power BI Datasetleri vs. Bu şekilde tüm bileşenler kullanıcıyı bir karmaşa ile muhatap etmeden bir birileriyle derin bir iletişimde halinde tutar. 
    • OneDrive uygulamasına benzer şekilde, OneLake File Explorer aracı çalışma alanındaki dosyaları server ile eşleştirilebilir.
    • Tabloların SQL ve Spark tarafından ortak kullanılabilmesi için Delta tablo yapısının tercih edildiğini belirtelim. Bu noktada Synapse ile ilgili yazımızda ele aldığımız Shared Metadata özelliğinin Fabric'te biraz daha geliştirildiğini deneyimliyoruz. 
    • Ayrıca OneLake'in veri yapıları için kısa yollar oluşturma imkanı da bulunmaktadır. Bu özellik önemli bir efor olan veri taşıma ihtiyacını da ortadan kaldırmış durumda.
  • Power BI: 
    • Fabric Power Platform benzeri bir SaaS uygulaması olarak duyuruldu. Power BI Fabric'in reklam yüzü durumunda. Power BI lisanslarıyla da sıkı bir ilişkiye sahip. Power BI'da oluğu gibi ve Power BI ile entegre olan bir çalışma alanı açıp Fabric bileşenlerini deneyimlemeye başlıyoruz. 
    • Ancak burada Fabric'i Power BI'ın bir üst versiyonu gibi algılamamak lazım. Fabric olsa olsa Synapse'in bir üst versiyonu olarak değerlendirilebilir. 
    • Verinin demokratikleştirilmesi iddiasının altını dolduran şey son kullanıcının aşina olduğu Power BI'ın  öğrenim eğrisi bir hayli dik olabilen araçların önünde her an kullanıma hazır şekilde devrede olması.
  • Data Factory: 
    • Azure Data Factory'in tüm yetenekleri desteklenmese de veri taşıma, dönüştürme ve orkestrasyon için yeterli beceriye sahip bir bileşen. 
    • Üstelik DataFlow Gen2 ismiyle duyurulan Power BI kullanıcılarının aşina olduğu Power Query benzeri (tüm fonksiyonalite desteklenmiyor) bir arayüze sahip ve M dili ile verinin dönüştürülmesi konusunda müthiş bir esneklik sunuyor.
  • Data Engineering: 
    • LakeHouse oluşturma noktasında dosya tabanlı veriler ile Spark kullanarak çalışabilirsiniz. Dilerseniz bir Delta tablo inşa edip Shared Metada özelliği sayesinde hem Spark SQL ile hem de SQL Endpoint'i oluşturup Synapse DW olarak isimlendirilen SQL engine ile bu tablo üzerinde çalışabilirsiniz. 
    • Delta tablolar parquet tabanlıdır. Yani kolon bazlı bir depolama mantığına dayalıdır. Parquet formatı verimliliği sebebi ile Büyük Veri dünyasında sıkça tercih edilir. Delta formatı ise parquet formatını ilişkisel veritabanı tabloları gibi kullanmamızı sağlıyor. Yani özetle transaction desteği olan, güncellenebilir tablo formuna sokuyor. Sonuç olarak bir veri gölünde veri dosyası depolama esnekliği ve ilişkisel veritabanı sisteminin birçok avantajını sunan analitik bir veri deposu konforuna ulaşıyoruz.
    • Delta isimli bu açık kaynak dosya formatı (disk yönetim biçimi) şuan konuyu saptırmasın diye girmek istemediğim bazı sebeplerden dolayı son zamanlarda sıkça tercih edilmektedir. Microsoft Fabric kullanırken deneyimleyeceğiniz bazı optimizasyonlar sayesinde bu dosya formatı yüksek yazma ve okuma performansı sunuyor (%50'ye varan). 
    • SQL Enpoint oluştuğunda otomatik olarak bir Power BI Dataset de tanımlanıyor (Kendiniz de bunu tanımlayabilirsiniz). Bu Dataset V-Order gibi sıkıştırma ve segment eleme mantığında çalışan bazı özellikler sayesinde InMemory bir dataset gibi çalışmanızı üstelik refresh yapmanıza da gerek kalmadan tabloların son halini yüksek hızda raporlamanızı mümkün kılıyor. 
    • Bütün bu özelliklerle birlikte bu bölümde veri entegrasyonuna ihtiyaç duyulacağı için Data Factory yeteneklerine erişilebilsin diye bir kısa yol da konmuş durumda.
  • Data Science: 
    • Bu bölüm Spark ve Azure ML üzerinde çalışarak makine öğrenimi modelleri eğitmenize olanak tanıyor. 
    • Açık kaynak MLFlow kütüphanesi desteğiyle hem ML süreçlerini Spark üzerinde daha iyi yönetebilir hem de Spark ve Azure ML iş birliğinden faydalanabilirsiniz.
  • Data Warehouse: 
    • Synapse Data Warehouse olarak isimlendirilen bu ürün MPP mimarisine sahip (yani özetle büyük veri işlemek için işlemcileri dağıtık mimariye benzer mantıkta paralel kullanan) SQL engine hizmetine odaklanıyoruz. Dilerseniz Lakehouse tarafında oluşturduğunuz SQL Enpointlerini de buradaki pencereye ekleyip SQL ile sorgulayabilirsiniz. 
    • Buradaki tablolar için varsayılan bir tabular Power BI modeli otomatik olarak inşa ediliyor. Modelde hangi tabloların olacağını, DAX formullerini vs. belirleyebiliyorsunuz. Ayrıca bölümde model üzerinden bir rapor yapmanız için gerekli kısa yollara ulaşabilirsiniz. 
    • Yine bu bölüme de Data Factory yeteneklerine erişim imkanı konmuş durumda.
  • Real-Time Analytics: 
    • Gerçek zaman veri akışının yönetilebilmesi için en temelde bir tür veri tabanı ve akışı analiz etmek için bir dile ihtiyaç var. 
    • Bu bölüm Büyük hacimli verileri gerçek zamanlı olarak sorgulamak ve analiz etmek için KQL (Kusto Query Language) veritabanı oluşturmanıza ve KQL dili ile çalışmanıza imkan veriyor. Tablo ve sutun kullanımı, syntax olmasa da mantık bakımından SQL diline benzer bir deneyim sunması akan veri analizini bir hayli kolaylaştırıyor.
    • Ayrıca EventStream özelliği ile kod yazmadan kaynak ve hedef belirleyerek bir akışı gerçek zamanlı analiz edebiliyorsunuz.

Nasıl Kullanabilirim, Lisanslama Modelleri Neler?


Microsoft Fabric için bireysel ve kuruluş lisansları bulunuyor.

Kuruluş Lisansları:
  • Kullanıcı Başına Premium (PPU)
  • Kapasite
Bireysel Lisanslar:
  • Ücretsiz
  • Pro
Bu alanda bir makalelik daha konu çıkacağı ve zamanla güncelliğini yitirebileceği için doğrudan Microsoft kaynaklarına bakmanızı öneririm. 

Lisanslama için şu linke bir göz atabilirsiniz:

Microsoft Fabric şu aralar public preview aşamasında olduğu için aşağıdaki linkten ücretsiz olarak deneyebilirsiniz:

Gerekli lisansa sahip olduktan sonra Microsoft Fabric'i aşağıdaki linkinden deneyimlemeye başlayabilirsiniz:

Peki ya Synapse Analytics?


Microsoft Fabric hakkında konuşurken bir çok ifadenin Synapse ile benzer olduğunu fark etmişsinizdir. Fabric, Synapse'in bir üst versiyonu olarak değerlendirilebilir. Synapse bir PaaS çözümü, Fabric ise bir SaaS çözümü olarak karşımıza çıkıyor. Bu bile Fabric tarafında kullanıcı konforunun ön planda olduğunun/olacağının bir alameti farikasıdır. 

Synapse'teki bileşenlerin entegrasyonu sırasında dikkat edilmesi gereken teknik detaylar Fabric'te kullanıcıya yansıtılmamış. Bu haliyle Fabric tam bir Lakehouse mimarisi deneyimi yaşatıyor diyebiliriz. Synapse bileşenlerinin entegrasyonu arayüz seviyesindeyken Fabric üzerinde daha derinlerde veri seviyesinde bir entegrasyon görüyoruz. Üstelik tam anlamıyla uçtan uça bir akış motivasyonu sunulmuş. Veri kümeleri bir sonraki adım için otomatik olarak hazır ediliyor.

Synapse'teki bazı özelliklerden feragat edildi. Bazı yeni özellikler geldi. Mevcut özelliklerin de bazıları daha hızlı, verimli ve esnek şekilde kullanıma sunuldu.

Synapse Analytics uzun bir süre daha var olmaya devam edeceğini düşünüyorum.  Fakat Microsoft'un Fabric tarafına odaklanacağı aşikar.

Genel İntiba


Microsoft Fabric her ne kadar Power BI görünümü ile son kullanıcıyı teşvik etse de arkaplanda koşturan Büyük Veri işleme canavarlarıyla birlikte düşünüldüğünde buz dağını andırıyor. 

Veri Mühendisleri, Veri Bilimcileri ve Veri Analistlerinin iş birliği için yoğun mesai harcadığı, yaygın kullanıma sahip araçlar kullanıcı dostu yeni halleriyle Microsoft Fabric çatısı altında bir arada.