Semantik Model: Ham Veri ile İş Kullanıcısı Arasındaki Anlam Katmanı
Semantik model, ham veriyi iş diliyle tanımlı metrik, ilişki ve hiyerarşilere çevirir; herkes aynı hesabı kullanır. Tanım, işleyiş ve örnek.
Semantik model nedir?
Semantik model (semantik katman, semantic layer), veritabanındaki tablo ve sütunların üzerine oturan, verinin iş diliyle anlamlandırıldığı katmandır. Ham tabloda "tutar_net" ve "mus_id" gibi teknik adlar durur; semantik modelde aynı veri "Net Ciro", "Müşteri", "Bölge" gibi iş kullanıcısının tanıdığı adlarla, nasıl hesaplanacağı belli ölçülerle ve tablolar arası ilişkilerle sunulur.
Bu katman sayesinde iş kullanıcısı SQL bilmeden bir metriği bölgeye, ürüne ya da döneme göre kırabilir. Power BI'da bu nesne uzun süre "dataset" olarak anıldı, bugünkü adı semantik modeldir; kavramın tanımı ise Power BI'a özgü değildir ve birçok analitik platformda aynı rolü üstlenen katmanlar vardır.
Neden gerekir?
Semantik katman olmadığında her rapor ve her analist kendi hesabını yazar. Bir raporda "ciro" iadeleri düşerek, bir başkasında düşmeden hesaplanır; toplantıda farklı raporlar yan yana konduğunda rakamlar tutmaz ve zaman, hangisinin doğru olduğunu tartışarak geçer.
Semantik model metriği bir kez tanımlar ve herkes aynı tanımı kullanır. Böylece tutarlılık sağlanır, yeni bir raporu sıfırdan kurmak yerine mevcut modele bağlanmak yeterli olur, tanım değiştiğinde (örneğin ciro hesabına yeni bir kural eklendiğinde) değişiklik tek yerde yapılır ve tüm raporlara yansır.
İçinde neler bulunur?
Bir semantik modelin temel bileşenleri şunlardır:
- Tablolar ve sütunlar: Olgu tabloları (satış, sipariş gibi olaylar) ile boyut tabloları (müşteri, ürün, takvim gibi tanımlayıcılar).
- İlişkiler: Tabloların hangi anahtarla birbirine bağlandığı ve filtrenin hangi yönde aktığı.
- Ölçüler ve metrikler: Toplam, oran, değişim gibi iş hesaplarının resmî tanımları.
- Hiyerarşiler: Ülke, şehir, mağaza gibi detaydan özete inen düzenler.
- Açıklamalar ve görünürlük: Kullanıcıya gösterilecek adlar, açıklamalar ve gizlenen teknik sütunlar.
- Güvenlik kuralları: Bir kullanıcının yalnızca kendi bölgesinin verisini görmesini sağlayan satır düzeyi güvenlik gibi tanımlar.
Nasıl çalışır?
Kullanıcı bir raporda ya da sorgu aracında "Bölgeye göre net ciro" istediğinde, model bu isteği kendi tanımlarına göre yorumlar. Ciro ölçüsünün formülünü, Bölge alanının hangi boyut tablosundan geldiğini ve ilişkilerin filtreyi nasıl taşıdığını bildiği için doğru sorguyu üretir ve sonucu döndürür. Kullanıcı birleştirme, filtre ya da toplama mantığını kendisi yazmaz.
Modelin yaşadığı yer araca göre değişir. Power BI'da model veriyi kendi motoruna alabilir ya da sorguyu kaynağa iletebilir. Başka mimarilerde semantik katman, veri ambarının üstünde ayrı bir hizmet olarak durur ve birçok farklı raporlama aracına aynı tanımları sunar. Önbellek ve sorgu optimizasyonu bu katmanın performans sorumluluğudur.
Küçük bir örnek: perakende satışları
Örneğin bir perakende şirketinde satış tablosu, mağaza tablosu ve ürün tablosu vardır. Semantik modelde mağaza ve ürün tabloları satış tablosuna ilişkilerle bağlanır. "Net Ciro" ölçüsü satış tutarından iadeleri düşerek, "Ortalama Sepet" ölçüsü ise net ciroyu sipariş sayısına bölerek tanımlanır.
Satış ekibi bu modelle haftalık raporunu, finans ekibi aylık kapanışını, yönetim kurulu da özet panosunu kurar. Bu ekiplerin raporlarının hepsi aynı "Net Ciro" tanımına bağlı olduğundan sayılar çelişmez. İade kuralı değiştiğinde ise yalnızca modeldeki ölçü güncellenir.
Veri ambarı, dataflow ve semantik model ayrımı
Veri ambarı veriyi saklar ve düzenler; ETL ya da dataflow veriyi hazırlar; semantik model ise hazır veriye anlam ve hesap kuralı ekler. Aralarındaki sınır, hangi katmanda hangi iş mantığının yaşadığıdır.
Sık yapılan hatalardan biri metrik tanımlarını raporlara dağıtmaktır: aynı ölçü birçok raporda ayrı ayrı yazılır ve zamanla birbirinden ayrışır. Bir diğeri, modelin ayrıntı düzeyini (taneciğini) belirsiz bırakmaktır: bir satırın sipariş mi, sipariş kalemi mi olduğu açık değilse toplamlar şişer. Bir başka hata da güvenliği sonraya bırakmaktır; satır düzeyi erişim kuralları model tasarımının başında düşünülmelidir.
Hangi ekip ve roller için önemli?
Semantik model; iş zekası geliştiricileri, analitik mühendisleri ve ortak metrik tanımlarını yönetmesi gereken veri yönetişimi ekipleri için temel kavramdır. Mindset'in Semantik Katman (Semantic Layer) Tasarımı eğitimi metrik envanteri ve tanım disiplini, yönetişim ve sürümleme gibi konuları işler; Power BI Veri Modelleme eğitimi ise yıldız şema ve boyut modelleme ile model temizliğini Power BI özelinde ele alır.
Birden fazla birimin aynı rakamlara dayanarak karar vermesi gereken kurumlarda, hangi metriğin kimin sorumluluğunda olduğunu tek bir model üzerinden netleştirmek bu eğitimlerin kurumsal karşılığıdır.
İlgili Mindset programı
Semantik Katman (Semantic Layer) Tasarımı
Sık sorulan sorular
Semantik model ile veri modeli aynı şey mi?
Birbirine çok yakındır ama aynı değildir. Veri modeli genel olarak tabloların ve ilişkilerin yapısını ifade eder. Semantik model bu yapının üstüne iş diliyle adlandırılmış ölçüleri, hiyerarşileri, açıklamaları ve güvenlik kurallarını ekler. Power BI'da bu kavramlar aynı nesnede buluşur, bu yüzden günlük kullanımda birbirinin yerine kullanıldığı olur.
Semantik katman için Power BI şart mı?
Hayır. Semantik katman bir yaklaşımdır ve farklı platformlarda farklı araçlarla kurulabilir; veri ambarı üzerindeki ayrı metrik hizmetleri ya da bulut veri platformlarının kendi katmanları buna örnektir. Power BI, bu yaklaşımı yaygın olarak uygulayan araçlardan biridir ve semantik modeli rapor katmanının hemen altında barındırır.
Semantik model tek bir rapora mı bağlıdır?
Bağlı olması gerekmez; asıl yararı birçok raporun aynı modele bağlanabilmesidir. Rapor yazarları modeli kopyalamak yerine yayımlanmış modele bağlanarak çalışır, böylece metrik tanımları tek yerde tutulur. Model sahipleri, kimin neye erişeceğini ve yenileme zamanlamasını da merkezden yönetir.
Semantik modelde hangi bilgiyi yönetmek gerekir?
En azından her ölçünün iş tanımını, sorumlusunu, ayrıntı düzeyini ve değişiklik geçmişini kayda almak gerekir. Hangi sütunların kullanıcıya açık, hangilerinin gizli olduğu ve satır düzeyi güvenlik kuralları da belgelenmelidir. Bu kayıt, model devredildiğinde ya da denetlendiğinde en çok işe yarayan bilgidir.
İlgili rehberler
İlgili eğitimler
Kategori: Veri Analitiği ve İş Zekası, Veri Mühendisliği ve MLOps