Microsoft Fabric, veri alma, işleme, depolama, analiz ve raporlamayı tek bir SaaS (hizmet olarak yazılım) ürününde toplar. Power BI artık bu platformun bir parçasıdır: aynı portal, aynı çalışma alanları, aynı kapasite. Bir Power BI geliştiricisi için Fabric, “veriyi Power Query’de hazırlayıp modele almak” yerine “veriyi bir kez göle koyup her araçla oradan okumak” demektir.
Fabric’in iş yükleri
| İş yükü | Ne için? | Başlıca öğeler |
|---|---|---|
| Data Factory | Veri alma ve düzenleme | Veri akışı Gen2 (Dataflow Gen2), işlem hattı (pipeline), kopyalama işi |
| Data Engineering | Spark ile büyük veri işleme | Lakehouse, not defteri (notebook), Spark iş tanımı |
| Data Warehouse | T-SQL ile ilişkisel ambar | Ambar (warehouse) |
| Real-Time Intelligence | Akış ve olay verisi | Eventstream, eventhouse (KQL), gerçek zamanlı pano |
| Data Science | Makine öğrenmesi | ML deneyi, model, not defteri |
| Databases | Operasyonel veritabanı ve yansıtma | SQL veritabanı, yansıtılmış (mirrored) veritabanı |
| Power BI | Modelleme ve raporlama | Anlam modeli, rapor, pano, uygulama |
Learn ayrıca Fabric IQ adlı yeni bir iş yükünü önizleme olarak listeliyor. Bu derste Power BI geliştiricisinin en çok dokunacağı parçalara odaklanıyoruz.
OneLake ve Delta Parquet
OneLake, her kiracıya (tenant) bir tane verilen veri gölüdür; “verinin OneDrive’ı” gibi düşün. Çalışma alanları onun altında klasörler, lakehouse ve ambarlar da onların içinde öğelerdir. Tablolar açık Delta Lake biçiminde saklanır: veri sütun tabanlı Parquet dosyalarında, değişiklik geçmişi bir işlem günlüğünde (_delta_log) durur. Aynı tabloyu Spark, T-SQL ve Power BI kopyalamadan okuyabilir.
- Kısayol (shortcut): Başka bir yerdeki veriyi (ADLS Gen2, Amazon S3, Google Cloud Storage, başka bir lakehouse) kopyalamadan lakehouse içinde klasör ya da tablo gibi gösterir.
- Yansıtma (mirroring): Azure SQL, Snowflake, Cosmos DB gibi bir kaynağı neredeyse gerçek zamanlı olarak OneLake’e çoğaltır.
Lakehouse ve ambar
| Lakehouse | Ambar (Warehouse) | |
|---|---|---|
| İçerik | Dosyalar (CSV, JSON, görüntü…) + Tablolar (Delta) | Yalnızca tablolar (Delta) |
| Yazma | Spark (PySpark, Spark SQL), Dataflow Gen2, işlem hattı | T-SQL: INSERT, UPDATE, DELETE, MERGE, saklı yordam |
| SQL ile okuma | Otomatik SQL analiz uç noktası: salt okunur T-SQL, görünüm (view) tanımlanabilir | Tam okuma-yazma T-SQL |
| Kimin için? | Veri mühendisi, Python/Spark bilen ekip | SQL bilen BI ve ambar ekibi |
İkisi birbirinin alternatifi değil, çoğu projede birlikte kullanılır: ham ve temizlenmiş veri lakehouse’ta, sunuma hazır yıldız şema ambarda ya da yine lakehouse’ta. Hangi deponun ne zaman seçileceği “DP-600 Fabric Analytics Engineer hazırlığı” dersinde tablo hâlinde var.
Veriyi taşıyan araçlar
- Veri akışı Gen2: Bildiğin Power Query’nin bulut sürümü. Fark: sonucu bir hedefe (lakehouse tablosu, ambar) yazar. Power BI geliştiricisinin Fabric’e en kolay giriş kapısıdır.
- İşlem hattı (pipeline): Adımları sıraya koyar ve zamanlar: “kopyala → veri akışını çalıştır → not defterini çalıştır → anlam modelini yenile → hata olursa e-posta at”.
- Not defteri (notebook): PySpark ya da Spark SQL ile büyük hacimli dönüşüm, birleştirme, makine öğrenmesi.
Anlam modeli ve Direct Lake
Fabric’te anlam modeli lakehouse ya da ambar tablolarına üç yolla bağlanabilir:
| Import | DirectQuery | Direct Lake | |
|---|---|---|---|
| Veri nerede? | Modelin belleğine kopyalanır | Kaynakta kalır, her sorguda SQL gider | OneLake’teki Delta dosyalarından belleğe, gerektikçe yüklenir |
| Yenileme | Tam ya da artımlı veri yükleme (dakikalar–saatler) | Gerekmez | Çerçeveleme (framing): yalnızca meta veri, genellikle saniyeler |
| Sorgu hızı | Çok hızlı | Kaynağa bağlı, çoğu zaman yavaş | Import’a yakın (sütunlar bellekteyken) |
| Power Query / hesaplanmış sütun | Var | Sınırlı | Power Query yok: dönüşüm Delta tablolara yazılırken yapılır. Direct Lake sütunlarına başvuran hesaplanmış sütun SQL üzerinde desteklenmez, OneLake üzerinde önizlemede ve sınırlıdır |
Direct Lake’te bir sorgu ilk kez bir sütuna ihtiyaç duyduğunda o sütun Parquet’ten belleğe yüklenir (transcoding); sonra bellekte kalır. Kullanılmayan sütun bellekten çıkarılabilir. Direct Lake’in iki türü (OneLake üzerinde ve SQL uç noktası üzerinde), DirectQuery’ye geri dönüş ve davranış ayarı “Kurumsal model” dersinde anlatılıyor.
Senin için en iyi haber: DAX değişmez. Ölçüler, ilişkiler, modelde tanımlı DAX RLS’i ve DAX sorguları Import modelde nasıl çalışıyorsa Direct Lake modelde de öyle çalışır. İstisnalar veri katmanındadır: SQL uç noktası üzerindeki Direct Lake’te SQL görünümleri ve ambardaki SQL RLS DirectQuery’ye düşürür; OneLake üzerindeki Direct Lake’te ise DirectQuery’ye düşme yoktur ve SQL RLS uygulanmaz. Aşağıdaki sorgu, bu uygulamanın modelinde de bir Direct Lake modelinde de aynı sonucu verir:
EVALUATE
SUMMARIZECOLUMNS(
Tarih[Yil],
"Net Satış", [Net Satış],
"Satış GY", [Satış GY]
)
Kapasite ve lisans kavramı
Fabric öğelerini (lakehouse, ambar, not defteri, Direct Lake modeli) oluşturmak için çalışma alanının bir Fabric kapasitesine atanmış olması gerekir. Kapasite, kuruluşun satın aldığı ortak bir işlem gücü havuzudur; boyutu SKU ile ifade edilir ve tüm iş yükleri aynı havuzdan “kapasite birimi” tüketir. Rapor yazarı ve okurlarının Power BI lisansları (Pro, PPU) ise ayrı bir konudur ve kapasitenin boyutuna göre değişebilir. Fiyat ve eşikler sık değiştiği için burada sayı vermiyoruz; projeye başlamadan önce yöneticinle güncel lisans belgelerini kontrol et. Deneme kapasitesi öğrenmek için yeterlidir, ama Copilot gibi bazı özellikler denemede çalışmaz.
İlk Fabric projen: adım adım
- Çalışma alanı: Fabric kapasitesine atanmış bir çalışma alanı oluştur (ör. “Satış Analitiği – Geliştirme”).
- Lakehouse: “SatisLakehouse” adlı bir lakehouse oluştur. Ham CSV dosyalarını Dosyalar bölümüne yükle ya da bir kısayolla bağla.
- Veri akışı Gen2: Power Query’de temizle (tür, boşluk, birleştirme) ve hedef olarak lakehouse’un Tablolar bölümünü seç:
satislar,urunler,musteriler,tarih. - SQL analiz uç noktası: Satır sayılarını ve toplamları T-SQL ile kontrol et.
- Anlam modeli: Lakehouse’tan yeni bir Direct Lake anlam modeli oluştur; ilişkileri kur, tarih tablosunu işaretle, ölçüleri yaz.
- Rapor: Modelden rapor oluştur ya da Desktop’ta canlı bağlan.
- Zamanlama: Veri akışını ve gerekirse model çerçevelemesini bir işlem hattında sıraya koy.
- Yaşam döngüsü: Çalışma alanını Git’e bağla, test ve üretim için dağıtım işlem hattı kur (“Yaşam döngüsü” dersi).