Şirket İçi Veri Sözlüğü: Aynı Metriği Herkesin Aynı Anlaması
İki ekip "aktif kullanıcı" sayısını farklı raporluyorsa sorun veride değil, tanımın yazılı olmamasındadır.
İçindekiler
Bu yazıyı dinle
Yapay zekâ sesiyle yaklaşık 2 dakikalık özet
Veri sözlüğü eksikliğinin belirtisi her şirkette aynıdır: aynı toplantıda iki farklı ekran açılır, ikisinde de "aktif kullanıcı" yazar ve sayılar tutmaz. Ardından yarım saat, hangi rakamın doğru olduğu tartışılır. Bu tartışmanın gerçek maliyeti kaybedilen zaman değil, veriye duyulan güvenin aşınmasıdır — ve bir kez aşındığında kararlar yeniden sezgiye döner.

Sayılar neden tutmuyor?
Neredeyse hiçbir zaman veri bozuk olduğu için değil. Tipik sebepler şunlardır:
- Farklı zaman dilimi: Bir rapor UTC'ye, diğeri yerel saate göre gün sınırı çiziyordur. Gece yarısı civarındaki hareketler iki farklı güne düşer. Bu, sunucu log'larında da klasik bir tuzaktır; zaman dilimi tuzağı yazımız aynı sorunun operasyon tarafını ele alıyor.
- Farklı dışlama kuralları: Biri test hesaplarını ve şirket içi trafiği çıkarıyor, diğeri çıkarmıyordur.
- Farklı "aktiflik" tanımı: Biri giriş yapmayı, diğeri en az bir işlem yapmayı sayıyordur.
- Farklı iptal/iade muamelesi: Ay içinde iptal edilen bir sipariş gelire dahil mi, değil mi?
- Farklı tazelik: Biri gerçek zamanlı, diğeri gecelik toplu işten besleniyordur.
Bu farkların hepsi tek tek meşrudur. Sorun, hangisinin geçerli olduğunun hiçbir yerde yazmamasıdır.
Veri sözlüğü nedir, ne değildir?
Veri sözlüğü, veritabanı şemasının dökümü değildir — sütun listesi çıkarmak otomatik araçların işidir ve tek başına kimsenin sorusunu cevaplamaz. Veri sözlüğü, iş kavramlarının tek ve yetkili tanımını tutan belgedir. "aktif_kullanici" satırında hangi tabloların birleştirildiği kadar, hangi kullanıcıların neden dışlandığı da yazar.
İyi bir metrik tanımı şu alanları içerir: metriğin adı, tek cümlelik iş tanımı, hesaplama kuralı, açıkça dışlananlar, zaman dilimi ve dönem sınırı, veri tazeliği, sahibi ve son güncelleme tarihi. Bu alanlardan en çok atlanan ve en çok soruna yol açan ikisi dışlananlar ve zaman dilimidir.
Nasıl başlanır: küçük ve kullanılan bir sözlük
En sık yapılan hata, işe her tabloyu belgeleyerek başlamaktır. Böyle projeler yarım kalır ve kalan kısım güncellenmediği için güvenilmez hâle gelir. Daha işleyen bir yaklaşım şudur:
- Yönetim panosundaki metriklerle başlayın. Şirkette karar verilirken bakılan 10-15 sayı vardır. Sözlüğün ilk sürümü yalnızca bunları içersin.
- Her metriğe bir sahip atayın. Sahip, tanımı değiştirme yetkisi olan ve sorulduğunda cevap veren kişidir. Sahibi olmayan tanım, üç ay içinde eskir.
- Tanımı sorgunun yanına koyun. Sözlük ayrı bir wiki sayfasında yaşarsa unutulur. En sürdürülebilir yöntem, tanımı hesaplamanın yapıldığı yere (görünüm tanımı, dbt modeli veya rapor sorgusu içindeki yorum) yerleştirip oradan üretmektir.
- Tek hesaplama noktası kurun. Aynı metrik beş farklı raporda beş kez hesaplanıyorsa, er ya da geç ayrışır. Metriği tek bir görünüm veya modelde hesaplayıp raporların oradan okumasını sağlamak, tanım farklarını yapısal olarak imkânsız kılar.
Tanım değiştiğinde ne olacak?
Sözlüğün asıl sınavı, bir tanımın değişmesi gerektiğinde başlar. "Aktif kullanıcı" tanımına mobil oturumları da eklemeye karar verdiniz diyelim: tarihsel seriler bir anda kırılır, geçen ayla bu ay kıyaslanamaz hâle gelir ve kimse neden arttığını anlamaz.
Doğru pratik, tanım değişikliğini bir sürüm gibi ele almaktır: değişiklik tarihini kaydedin, mümkünse yeni tanımı geçmişe de uygulayarak seriyi yeniden üretin, bu mümkün değilse grafiklerde değişikliğin olduğu tarihi işaretleyin. En önemlisi, değişikliği metrikleri kullanan ekiplere önceden duyurun. Bu disiplin, API'lerde kırıcı değişiklik yönetimine çok benzer; oradaki adımlar için API sürümleme yazımıza bakabilirsiniz.
Veri kalitesiyle ilişkisi
Tanımlar netleştiğinde, veri kalitesi sorunları da görünür hâle gelir. Çünkü artık "bu sayı yanlış" demek yerine "bu sayı tanıma uymuyor" diyebilirsiniz — ve bu, test edilebilir bir ifadedir. Sözlükteki her tanımın yanına basit doğrulama kuralları (negatif tutar olmamalı, kullanıcı sayısı toplam kayıt sayısını aşmamalı gibi) eklemek, hataları rapora düşmeden yakalar. Veri hazırlığının bu yönü için veri temizleme yazımız tamamlayıcıdır. Yönetişim çerçevesinin daha geniş bir tartışması için Martin Fowler — Data Mesh ilkeleri yazısı okunabilir.
Sonuç
Veri sözlüğü, teknik bir dokümantasyon işi gibi görünse de aslında bir iletişim altyapısıdır: kararların aynı sayılara bakarak alınmasını sağlar. Kurmanın yolu her şeyi belgelemek değil, karar verilen az sayıda metriği sahipli, tek noktada hesaplanan ve değişiklikleri duyurulan tanımlara bağlamaktır. Bugün küçük bir test yapın: şirketinizdeki iki farklı kişiye en çok kullanılan metriğinizin tanımını sorun. Cevaplar farklıysa, yazacağınız ilk sözlük maddesi de belli olmuş demektir.
Sık sorulan sorular
Veri sözlüğü için özel bir araç şart mı?
Hayır. Küçük ekiplerde sürüm kontrolünde tutulan tek bir dosya yeterlidir. Araç ihtiyacı, metrik sayısı ve ekip büyüdüğünde ortaya çıkar; asıl belirleyici araç değil, sahiplik ve güncellik disiplinidir.
Tanımları kim yazmalı: veri ekibi mi, iş birimi mi?
İkisi birlikte. Hesaplama kuralını veri ekibi, iş tanımını ve dışlama kurallarını iş birimi belirler. Tek taraflı yazılan tanımlar genellikle diğer tarafça kullanılmaz.
Aynı metriğin iki farklı tanımı meşru olabilir mi?
Olabilir; örneğin finans ve pazarlama gelirin farklı tanımlarına ihtiyaç duyabilir. Bu durumda ikisine de farklı isim verin. Aynı ismi iki farklı hesaplama için kullanmak, karışıklığın asıl kaynağıdır.
Sözlüğün güncel kaldığından nasıl emin olurum?
Tanımı hesaplamanın yapıldığı kodun yanında tutup oradan üretmek en etkili yöntemdir. Ayrı yaşayan belgeler güncellenmez; kodla birlikte değişen belgeler güncel kalır.
Yazan
Çılgın Yazılım
Ben Evren Çılgın; yazılım geliştirme, web teknolojileri ve sistem tasarımı alanlarında uzmanlaşmış bir geliştiriciyim. Uzun yıllardır hem frontend hem de backend tarafında üretken, ölçeklenebilir ve kullanıcı dostu çözümler üretiyorum.
Bu konuda bir projeniz mi var?
İhtiyacınızı birkaç cümleyle anlatın; uygun yaklaşımı birlikte belirleyelim.
İlgili yazılar
Yorumlar
Henüz yorum yok. Sorunuzu ya da deneyiminizi ilk siz yazın.
Yorum yazın
Yorumunuz onaylandıktan sonra yayınlanır. Ekibimiz gerekirse konuyla ilgili bir yanıt da paylaşır.

