Lakehouse, gölün esnekliğini ambarın sorgu kolaylığıyla birleştirir: her türlü dosyayı koyarsın, Delta tablolarını hem Spark hem T-SQL ile sorgularsın. Bu ders lakehouse’u kurmayı değil, ne zaman doğru seçim olduğunu ve tuzaklarını anlatır. Elle kurulum adımları “Fabric’e veri getirmek” ve “Lakehouse ödevi” derslerinde.
İki bölüm
| Files | Tables | |
|---|---|---|
| Ne durur? | CSV, JSON, resim, Parquet; Delta olmayan her şey | Yönetilen Delta tabloları |
| Keşif | Yok; dosyadır | Otomatik: meta veri çıkarılır, sütunlar kaydedilir |
| SQL uç noktası | Görünmez | Görünür |
| Kullanım | Ham iniş, arşiv | Analiz, model kaynağı |
Tables’a Delta olmayan dosya koymak işe yaramaz; Learn şu an yalnız Delta’yı doğruladığını söyler. Parquet ya da CSV’yi sorgulamak istiyorsan önce Delta’ya çevir.
Veri yükleme yolları
| Yol | Kim için? | Örnek |
|---|---|---|
| Lakehouse gezgini (karşıya yükle, Load to Tables) | Tek dosya, deneme | Aylık Excel’i bir kez |
| Kısayol | Kopya istemeyen | Başka alandaki Delta |
| Dataflow Gen2 | Power Query bilen | SharePoint listesini temizleyip yaz |
| İşlem hattı, Copy job | Taşıma ve düzen | ERP’den gece kopyası |
| Not defteri, Spark iş tanımı | Kod bilen | Karmaşık dönüşüm, üretim ETL’i |
SQL analiz uç noktası
Her lakehouse ile otomatik gelir. Salt okunurdur: SELECT evet; INSERT, UPDATE, DELETE hayır. Tablo oluşturamazsın, ama görünüm, satır içi fonksiyon, saklı yordam tanımlayabilirsin ve bunlar kalıcıdır. Veriyi değiştirmek için Spark gerekir. Ayrıca:
- Yalnız Tables altındaki Delta tabloları görünür. Spark ile oluşturulan dış Delta tablolar ek kısayol olmadan görünmez.
- Meta veri otomatik eşitlenir; ama anlık değildir. Yeni yazılan tablo hemen görünmediyse eşitleme sürüyor olabilir, manuel başlatma seçeneği için “SQL analytics endpoint metadata sync” sayfasına bak. İşlem hattında Refresh SQL analytics endpoint etkinliği vardır.
- Burada tanımlanan SQL güvenliği yalnız uç noktadan erişimde geçerlidir; Spark’ı etkilemez.
- Çok tablolu işlem (transaction) yoktur; ambarda vardır.
Lakehouse mi, ambar mı, eventhouse mu?
| Lakehouse | Ambar | Eventhouse | SQL veritabanı | |
|---|---|---|---|---|
| Amaç | Esnek depo, büyük veri işleme | Yönetilen SQL analitiği, BI | Yüksek hacimli olay | İşlemsel uygulama |
| Sorgu | Spark + salt okunur T-SQL | Tam T-SQL | KQL | Tam T-SQL |
| Yazma | Spark, veri akışı, işlem hattı | T-SQL, işlem hattı | Doğal alım | Uygulama |
| Ne zaman? | Çeşitli biçim, mühendislik, keşif | Yıldız şema, saklı yordam, çok tablolu işlem | Telemetri, log | Operasyon ve üstünde analiz |
Doğru soru genelde “hangisi?” değil, “hangi katman nerede?”dir.
Katmanlı düzen: tunç, gümüş, altın
Learn lakehouse’u bu mimari için uygun bulur; Microsoft’un sabit bir tanımı olmadığı için ekipler kendi kurallarını yazar. Yaygın kullanım:
| Katman | İçerik | Anadolu Market örneği |
|---|---|---|
| Tunç (bronze) | Ham veri, değişmeden | ERP’den gelen Satislar.csv, Files/ham |
| Gümüş (silver) | Temiz, türü doğru, tekil | satis_temiz Delta tablosu |
| Altın (gold) | İşe hazır yıldız şema | FactSatis, DimUrun; modelin kaynağı |
Kural: raporlar altından okur. Ham veriyi silme; hatalı dönüşümde en baştan yeniden üretebilmek için gerekir. Üç katmanı üç lakehouse ya da aynı lakehouse’ta şema olarak tutmak ekip ölçeğine bağlıdır. Altın katmanın doğruluğunu DAX ile de sınarsın: toplamları ham veriyle karşılaştır.
EVALUATE
ROW(
"Ham Tutar", SUM(Satislar[Tutar]),
"İptal Hariç", CALCULATE(SUM(Satislar[Tutar]), Satislar[Durum] <> "İptal"),
"Net Ölçü", [Net Satış]
)
Bu veride ham 1.346.190 ₺, iptal hariç ve [Net Satış] 1.250.772 ₺’dir. Altın toplam ölçüyle tutmuyorsa kural farklıdır.
Bölümleme ve dosya sağlığı
DP-600 dosya bölümlemeyi ayrıca sorar. Bölümleme, sorgunun gereksiz dosyaları atlamasını sağlar: sorgular çoğunlukla ay süzüyorsa aya göre bölmek yardımcı olur. Düşük kardinaliteli bir sütun seç; günlük ve müşteri düzeyi gibi yüksek kardinalite çok küçük dosya üretir. Küçük dosya sorunu ve OPTIMIZE, VACUUM “Lakehouse ödevi” dersinde. Direct Lake’in dosya ve satır grubu sınırları “Fabric’te anlam modeli” dersinde.
INSERT dene, hatayı oku. Sonuç için beklenen değerler o derste.