LookML Yapılarına Genel Bakış

LookML Nedir?
LookML (Looker Modelleme Dili), Looker’ın SQL veritabanları için bir soyutlama katmanı oluşturan ve kullanıcıların boyutları, toplamları, hesaplamaları ve ilişkileri tanımlamasına olanak tanıyan tescilli dilidir. Bu dil, teknik olmayan kullanıcıların model bazlı SQL sorguları oluşturmasına yardımcı olur. Bu yazıda, LookML’in temel unsurlarıyla ilgili uygulamalı deneyimler paylaşacağız.
LookML Yapılarına Genel Bakış
LookML hiyerarşisi şu nesnelerden oluşur:
- Project: LookML kod kütüphaneleridir. Looker, versiyonlama için Git kullandığından, en iyi uygulama her projenin bir Git deposuyla 1:1 eşlenmesidir. Bir proje, bir veya daha fazla Modelden oluşur.
- Model: İş alanı veya ihtiyaç bazında bir Explore grubudur. Bir Explore, kullanıcılarının analiz yapması için önceden birleştirilmiş View (görünüm) setleridir. Her model, bir veya daha fazla Explore içerir.
- View: Veritabanı tabloları veya onların mantıksal gösterimleridir. Bu gösterimler, Dimensions (veritabanı sütunları veya mantıksal gösterimler) ve Measures (müşteri sayısı – COUNT veya maliyetlerin toplamı – SUM gibi toplama fonksiyonları) içerir.
Project
LookML nesnelerinin en üst düzeyi projedir. Bir proje, genellikle bir veri kaynağı veya veritabanı bağlantısıyla eşleşen bir kod kütüphanesidir. Her projeyi, Looker’ın neredeyse bağımsız bir mini örneği veya mikro kozmosu olarak düşünebilirsiniz.
Birleştirilemeyen şemalar genellikle farklı projelerde bulunur çünkü iki veri kümesi arasında ilişki kurulamaz. Bu durum, veritabanı diyalektinize ve kullanıcı izinlerinize bağlıdır.
Unutulmaması gereken önemli bir kavram şudur: Eğer SQL dilinizde mümkünse, Looker’da da mümkün olmalıdır. Veritabanı konsolunuza gidip belirli bir fonksiyonu yerine getiren bir SELECT ifadesini elle yazabiliyorsanız, LookML ile Looker’ın aynı işlemi gerçekleştirmesini de sağlayabilirsiniz.
Bir projeden diğerine içerik paylaşımı, gerekirse ve örneğiniz için etkinleştirildiyse, Project Import özelliği ile yapılabilir. Ancak bu, model mimarisi kurulumuna ilişkin ileri düzey bir yaklaşımdır ve bu yazının kapsamı dışındadır.
Model
Model, hiyerarşinin bir sonraki seviyesidir ve şunları içerir:
- Kullandığınız veritabanı bağlantısı, görselde 1. satırda tanımlanmıştır.
- Models tarafından erişilebilir görünüm dosyaları, 4., 5. ve 6. satırlarda tanımlanmıştır.
- Explores tanımları ve bunların birleştirme mantığı.
Model, veri bağlantısı bilgilerini ve Explore tanımlarını içerir. Bunlar, kullanıcı erişimini belirli Explore’lara kısıtlamak ve iş alanına göre organize etmek için kullanılabilir.
Explore
Explore, genellikle belirli bir iş sorusunu hedeflemek için bir veya daha fazla View‘in birleştirilmesinden oluşur. Kullanıcılardaki kafa karışıklığını en aza indirmek için iş temaları etrafında organize edilmelidir.
Explore, ön yüz analizinin temelidir ve genellikle iş sorguları ve kullanım örnekleri için sıkça birleştirilen tablo setleri olarak görev yapar.
View
View, Dimension (veri nitelikleri) ve Measure (boyutların toplamları) tanımladığınız yerdir. View, ilişkili alanları bir araya getiren tablolar olarak düşünülebilir. View türleri şunlardır:
- Standart View: Mevcut veritabanı tablolarını soyutlar.
- Sanal tablolar: Derived tables olarak bilinir ve bu görevde daha sonra ele alınacaktır.
Dimension
Bir LookML nesnesinin en alt seviyesi field‘dır ve bunlar Dimension veya Measure olabilir. Dimension, Looker tarafından bir tabloyu temel alarak View dosyaları oluşturulduğunda, zaten veritabanı tablolarınızda olan sütunlar için oluşturulur.
Ayrıca tablo sütunlarının mantıksal gösterimleri olarak hizmet edecek ek Dimension oluşturabilirsiniz. Bunlar, bir SQL ifadesinin SELECT ve GROUP BY cümlelerinde görünür. Bunlar, verilerinizi tanımlayan “özelliklerdir”.
Measure
Measure, veritabanı tablolarınızda açıkça bulunmayan toplamlamalardır. LookML içinde oluşturulmalıdır. Bunlar, Dimension‘ları toplam (SUM) veya sayma (COUNT) gibi değerlere dönüştürür.
Measure, Looker tarafından oluşturulan SQL’in GROUP BY ifadesinde görünmez. Bunun yerine, bu gruplamayı belirlemek için Dimension‘lara bağlıdırlar.
LookML Hiyerarşisi Özeti
Özetlemek gerekirse, bir proje, bir veri kaynağını modelleyen ve bir Git deposuyla 1:1 eşleşen bir kod kütüphanesidir.
Project şunları içerir:
- Model dosyaları: Birlikte paketlenmesi gereken ve nasıl çalıştığı tanımlanan Explore‘lar.
- View dosyaları: Veritabanı tablolarını veya bunların mantıksal gösterimlerini açıklar.
Dimension ve Measure, View dosyaları içerisinde tanımlanır.
Yazan: Umniyah Abbood
Yayınlanma Tarihi: 16.12.2024
