Dataplex Universal Catalog ile Temel Yönetim: Başlangıç

1. Giriş

Geliştiriciler ve veri mühendisleri olarak, genellikle veri bataklıklarına benzeyen büyük veri koleksiyonlarını devralırız. Tekrarlanan sürtünme noktalarıyla karşılaşıyoruz: "Bu "amt" sütununun gerçek tanımı nedir?", "Bu veri kümesi bozulursa kim sorumlu olur?" veya "Bu tabloyu kişiselleştirilmiş öneri motorunda kullanmamıza izin veriliyor mu?"

Geleneksel olarak veri katalogları, kısa sürede tutarsız ve güncel olmayan serbest metin etiketleriyle doldurulmuş pasif envanterler olmuştur. Yapıyı zorunlu kılmazlar ve programatik yönetimi neredeyse imkansız hale getirirler.

Bu durumu pratik hale getirmek için bu laboratuvarda bir senaryo üzerinde çalışacağız: Ham perakende satış verileri üzerinde güçlü bir yönetim oluşturarak bu verilerin resmi raporlama için finans departmanı tarafından güvenilir olmasını sağlayacağız. Bu verileri belirsiz bir "bataklık" durumundan yönetilen bir ürüne taşırsınız.

Dataplex Universal Catalog, etkin ve yapılandırılmış bir meta veri yönetimi çerçevesi sağlayarak bu durumu değiştirir. Bu özellik, yapılandırılmış, şemaya dayalı meta verileri (Yönler) ve kabul edilen işletme tanımlarını (Sözlükler) doğrudan veri öğelerinize (Girişler) eklemenize olanak tanır.

Bunu büyük ölçekte otomatikleştirmek için Python komut dosyaları veya Terraform modülleri yazmadan önce temel nesne modelini anlamanız gerekir.

Bu codelab'de, yönetim adımlarını Google Cloud Console'da manuel olarak gerçekleştireceğiz. Verilerinizin bulunabilir, anlaşılabilir ve güvenilir olmasını sağlamak için Girişler, Yön Türleri, Yönler ve Sözlükler arasındaki bağlantıları açıkça göstereceğiz.

Ön koşullar

  • Sahip veya Düzenleyen erişimine sahip bir Google Cloud projesi.
  • Google Cloud Console'u kullanma konusunda bilgi sahibi olmanız gerekir.
  • Cloud Shell'de temel gcloud ve bq KSA becerileri.

Neler öğreneceksiniz?

  • Dataplex girişi, yön türü ve yön arasındaki önemli fark.
  • Terminolojideki belirsizliği gidermek için İşletme Sözlüğü oluşturma
  • Teknik meta veriler için katı bir şema uygulamak üzere (etiketlerin ötesine geçerek) Görünüm Türü nasıl tasarlanır?
  • İş terimleri sözlüğü terimini belirli bir BigQuery sütununa bağlama
  • Bir veri öğesine yapılandırılmış bir Aspect ekleme ve girişleri doğrulama
  • Bu yeni yapılandırılmış meta verilere karşı nasıl hassas arama sorguları yürütüleceği.

Gerekenler

  • Google Cloud hesabı ve Google Cloud projesi
  • Chrome gibi bir web tarayıcısı

Temel kavramlar

  • Giriş: Katalogdaki bir veri öğesinin standart, soyut temsili. Bunu "işaretçi" veya "isim" olarak düşünebilirsiniz. BigQuery tablosu oluşturduğunuzda Dataplex otomatik olarak tablo için bir giriş oluşturur. Tabloyu doğrudan değil, tablodaki Giriş'i yönetiriz.
  • İşletme Sözlüğü: Kuruluşunuzun işletme terimlerinin merkezi ve sürümlendirilmiş sözlüğü. Tek doğru bilgi kaynağıdır. "Satış departmanı, GMV'yi Finans departmanından farklı tanımlıyor" sorunu önlenir.
  • Görünüm Türü: Belirli bir meta veri kategorisinin şeması veya şablonu. Bir Aspect Type, alanları, veri türlerini (dize, enum, tarih/saat vb.) ve kısıtlamaları (zorunlu/isteğe bağlı) tanımlar. Meta veri tutarlılığını sağlayan sözleşmedir.
  • Yön: Yön Türü tarafından tanımlanan yapıyı izleyen bir Giriş'e eklenmiş belirli bir meta veri parçası. Özellik Türü'nün şemasını karşılayan gerçek verileri içerir.

2. Kurulum ve şartlar

Cloud Shell'i başlatma

Google Cloud, dizüstü bilgisayarınızdan uzaktan çalıştırılabilir. Ancak bu codelab'de, Cloud'da çalışan bir komut satırı ortamı olan Google Cloud Shell'i kullanacaksınız.

Google Cloud Console'da sağ üstteki araç çubuğunda Cloud Shell simgesini tıklayın:

Cloud Shell'i etkinleştirme

Ortamın sağlanması ve bağlantının kurulması yalnızca birkaç saniye sürer. İşlem tamamlandığında aşağıdakine benzer bir sonuç görürsünüz:

Ortamın bağlandığını gösteren Google Cloud Shell terminalinin ekran görüntüsü

Bu sanal makineye, ihtiyaç duyacağınız tüm geliştirme araçları yüklenmiştir. 5 GB boyutunda kalıcı bir ana dizin sunar ve Google Cloud üzerinde çalışır. Bu sayede ağ performansı ve kimlik doğrulama önemli ölçüde iyileştirilir. Bu codelab'deki tüm çalışmalarınızı tarayıcıda yapabilirsiniz. Herhangi bir yazılım yüklemeniz gerekmez.

Gerekli API'leri etkinleştirme ve ortamı yapılandırma

Proje kimliğinizi ayarlamak, bölgeyi tanımlamak ve gerekli hizmet API'lerini etkinleştirmek için aşağıdaki komutları çalıştırın.

export PROJECT_ID=$(gcloud config get-value project)
gcloud config set project $PROJECT_ID
export LOCATION="us-central1"

gcloud services enable dataplex.googleapis.com \
                       bigquery.googleapis.com \
                       datacatalog.googleapis.com

BigQuery veri kümesi oluşturma ve örnek verileri hazırlama

Yönetilecek somut bir veri öğesine ihtiyacımız var. Bir BigQuery veri kümesi oluşturup işlemleri temsil eden küçük bir örnek CSV yükleyeceğiz. Dataplex bu tabloyu otomatik olarak keşfeder ve tablo için bir Giriş oluşturur.

# Create the BigQuery Dataset in the us-central1 region
bq --location=$LOCATION mk --dataset \
    --description "Retail data for governance codelab" \
    $PROJECT_ID:retail_data

# Create a temporary CSV file with the sample data
echo "transaction_id,user_email,gmv,transaction_date
1001,test@example.com,150.50,2025-08-28
1002,user@example.com,75.00,2025-08-28" > /tmp/transactions.csv

# Load the data from the temporary CSV file into BigQuery
bq load \
    --source_format=CSV \
    --autodetect \
    retail_data.transactions \
    /tmp/transactions.csv

# (Optional) Clean up the temporary file
rm /tmp/transactions.csv

Hızlı bir sorgu çalıştırarak kurulumu doğrulayın:

bq query --nouse_legacy_sql "SELECT * FROM retail_data.transactions"

3. İşletme Sözlüğü ile ortak bir dil oluşturma

Etkili yönetim, net tanımlarla başlar. Bir geliştirici gmv adlı bir sütun gördüğünde bunun vergi veya iade içerip içermediğini tahmin etmek zorunda kalmamalıdır. İş terimleri sözlüğü, iş tanımını teknik uygulamadan ayırarak bu sorunu çözer.

  1. Google Cloud Console'da Dataplex Universal catalog'a gidin.
  2. Soldaki gezinme menüsünde Sözlükler'i (Meta verileri yönetme bölümünde) seçin.

96020207ba4bd128.png

  1. İşletme sözlüğü oluştur'u tıklayın.
  2. Aşağıdaki ayrıntıları girin:
    • Ad: Retail Business Glossary
    • Konum: us-central1 (veya kurulumda tanımladığınız konum).
  3. Oluştur'u tıklayın.

e3b146e5f3b57785.png

  1. Yeni oluşturulan Perakende İşletmesi Sözlüğü'nü tıklayarak girin.

c98bdf049e946234.png

  1. Kategori oluştur'u tıklayın, kategoriye Sales Metrics adını verin ve Oluştur'u tıklayın. Kategoriler, ilgili terimleri gruplandırmaya yardımcı olur.
  2. Sales Metrics kategorisini seçin, Terim ekle'yi tıklayın, terime Gross Merchandise Value adını verin ve Oluştur'u tıklayın.
  3. Genel Bakış sayfasında + Ekle düğmesini tıklayın, ardından aşağıdaki ayrıntıları girin:
    • Genel bakış: The total value of merchandise sold over a given period of time before the deduction of any fees or expenses. This is a key indicator of e-commerce business growth.
  4. Kaydet'i tıklayın.

3a642fd2a41c040e.png

Artık kuruluşunuzdaki teknik öğelerle bağlantı kurulabilecek net bir tanım oluşturdunuz.

4. Yapılandırılmış teknik meta verileri bir Aspect Type ile tanımlama

Basit "anahtar:değer" etiketleri, mühendislik titizliği için yeterli değildir. "Veri sahiplerini" izlemeniz gerekiyorsa bir tablonun owner:bob, diğerinin ise contact:alice@example.com olarak etiketlenmesini istemezsiniz. Sahibin zorunlu olmasını ve geçerli bir e-posta biçimi olmasını sağlamak için bir şemaya ihtiyacınız vardır.

Bu sözleşmeyi tanımlamak için Görünüm Türü'nü kullanacağız.

  1. Dataplex'in sol gezinme bölmesindeki Katalog bölümünde Yön türleri ve Etiket Şablonları'nı seçin.
  1. Özel sekmesini seçin ve Görünüm türü oluştur'u tıklayın.

a920c555d40425a.png

  1. Aşağıdaki ayrıntıları girin:
    • Görünen ad: Data Asset Governance
    • Konum: us-central1
  2. Şablon bölümünde, Aspect için şemayı tanımlayacağız. Aşağıdaki üç alanı oluşturmak için Alan ekle'yi tıklayın:
    • Alan 1:
      • Görünen ad: Data Steward
      • Tür: Text
      • Metin türü: Plain text
      • Nicelik: Zorunludur (kutuyu işaretleyin)
    • Alan 2 (Alan ekle'yi tekrar tıklayın):
      • Görünen ad: Data Sensitivity
      • Tür: Enum
      • Değerler: Public, Internal ve Confidential değerlerini ekleyin.
      • Kardinalite: İsteğe bağlı
    • Alan 3 (Alan ekle'yi tekrar tıklayın):
      • Görünen ad: Last Review Date
      • Tür: Date and time
      • Kardinalite: İsteğe bağlı
  3. Kaydet'i tıklayın.

20babd75c2b8dce6.png

Yeni bir yeniden kullanılabilir meta veri sözleşmesi oluşturmuş olmanız gerekir. Henüz hiçbir şey bu yapıyı kullanmıyor ancak yapı mevcut.

5. Yönetimi öğeye bağlama

Şimdi tüm bunları bir araya getireceğiz. BigQuery tablomuz (retail_data.transactions), iş tanımımız (Gross Merchandise Value) ve yönetim şemamız ((Data Asset Governance) var.

BigQuery tablosu için Dataplex Girişi'ni zenginleştiririz.

Şemayı iş bağlamıyla zenginleştirme (sütun düzeyinde)

Sözlüğe bağlayarak kullanıcılara gmv sütununun gerçekte ne anlama geldiğini açıklayalım.

  1. Dataplex'in sol gezinme panelinde Arama'yı tıklayın.
  2. Sağ üst tarafta, etkinleştirilmemişse Dataplex Universal Catalog sekmesini tıklayın.

849a24e7b1a86a19.png

  1. retail_data.transactions araması BigQuery tablosunun sonucunu tıklayın.

54d3edd1520593a9.png

  1. Giriş ayrıntıları bölümünde Şema sekmesini tıklayın.
  2. gmv sütun satırının onay kutusunu işaretleyin ve İşletme terimi ekle'yi tıklayın.
  3. Gross Merchandise Value dönemini seçin.

64768eecf630c90b.png

gmv sütunu artık yalnızca bir "FLOAT" değil, Gross Merchandise Value'nin kurumsal tanımına bağlı.

Girişi yapılandırılmış teknik meta verilerle (tablo düzeyinde) zenginleştirme

Ardından, sahipliği ve hassasiyeti tanımlamak için tabloya Data Asset Governance Yön'ü ekleyeceğiz.

  1. retail_data.transactions Giriş sayfasında kalın.
  2. Etiket veya yön ekle sekmesini tıklayın, ardından açılır listeden Data Asset Governance türünü seçin.

4b770307159a28d8.png

  1. Form artık Aspect Type şemanızda tanımlanan alanları gösterecek. Alanları aşağıdaki gibi doldurun:
    • Veri yöneticisi: finance-team@example.com
    • Veri Hassasiyeti: Internal simgesini seçin.
    • Son İnceleme Tarihi: Bugünü seçin.
  2. Kaydet'i tıklayın.

f953c5569520d42a.png

Girişe yapılandırılmış bir Yönü başarıyla eklediniz. Basit bir etiketin aksine bu veriler, oluşturduğunuz şemaya göre doğrulanır.

6. Birleştirilmiş keşif ve doğrulama

Bu işi sadece form doldurmak için yapmadık. Bunu, verilerin bulunabilir ve güvenilir olması için yaptık. Bu meta verilerin, arama ve keşif için geliştirici deneyimini nasıl değiştirdiğine bakalım.

Dataplex Universal Catalog'daki ana Arama sayfasına dönün.

Yönetimi zorunlu kılan bir platform mühendisi olduğunuzu düşünün. Belirli bir Aspect Type tarafından yönetilen ve "Dahili" olarak işaretlenmiş tüm öğeleri bulmanız gerekir. Şemanıza göre kesin yüklemler kullanmanız gerekir.

Bunu iki şekilde doğrulayabilirsiniz: hassas bir sorgu söz dizimi kullanarak (otomasyon için gereklidir) veya etkileşimli kullanıcı arayüzü filtrelerini kullanarak.

1. yöntem: Yapılandırılmış sorguyla doğrulama

  1. Arama çubuğuna (Anahtar Kelime arama modunda) aşağıdaki yapılandırılmış sorguyu girin.
aspect:data-asset-governance.data-sensitivity=Internal
  1. retail_data.transactions tablonuzu görürsünüz.

49120fe4ea224359.png

2. yöntem: Kullanıcı arayüzü filtre yönleriyle doğrulama

  1. Görünümü sıfırlamak için arama çubuğunu temizleyin.
  2. Ekranın sol tarafındaki Özelliklere göre filtrele paneline bakın.
  3. Aşağı kaydırın ve Veri Öğesi Yönetimi bölümünü genişletin (bu, oluşturduğunuz Yön Türünü temsil eder).
  4. Veri Hassasiyeti bölümünde Internal kutusunu işaretleyin.
  5. Arama sonuçları, retail_data.transactions tablosunu gösterecek şekilde güncellenir.

4df224cb06720ec4.png

Yazılan sorguyu veya kullanıcı arayüzü filtrelerini kullanmanız, temel mekanizmayı değiştirmez.

Bu, Dataplex ile basit bir wiki arasındaki temel farkı gösterir: Meta verileriniz sorgulanabilir bir yapıdır. Artık otomatik denetimler oluşturabilirsiniz (ör. "Find all tables where last_review_date is > 1 year ago" (Son_inceleme_tarihinin 1 yıldan eski olduğu tüm tabloları bul) gibi sorgular bu tahmin edilebilir yapıya dayanır.

7. Ortamınızı temizleme

Devam eden ücretlendirmelerden kaçınmak için bu codelab'de oluşturulan kaynakları silin.

BigQuery veri kümesini silme

Bu komut geri alınamaz ve veri kümesini ve tüm tablolarını onay olmadan kaldırmak için -f (force) işaretini kullanır.

# Re-run these exports if your Cloud Shell session timed out
export PROJECT_ID=$(gcloud config get-value project)

# Manually type this command to confirm you are deleting the correct dataset
bq rm -r -f --dataset $PROJECT_ID:retail_data

Dataplex yapılarını silme

  1. Dataplex Universal Catalog kullanıcı arayüzü > Meta verileri yönetin > Katalog'a gidin.
  2. Yön türleri ve etiket şablonları bölümünde data_asset_governance yön türünü seçip silin.
  3. Meta verileri yönetin > Sözlükler'e gidin, Retail Business Glossary simgesini seçin ve silin. Önce terimi (Gross Merchandise Value) silin, sözlüğü daha sonra silebilirsiniz.

8. Tebrikler!

Basit veri etiketlemenin ötesine geçip Dataplex'te temel nitelikte, yapılandırılmış bir yönetim modeli oluşturmuş olmanız gerekir.

Öğrendikleriniz:

  • Sözlükler, işletmelerdeki belirsizlikleri giderir.
  • Aspect Types, teknik meta veriler için şema sözleşmesini sağlar.
  • Yönler, bu şemayı gerçek veri girişlerine uygular.
  • Dataplex Arama, hassas keşif için bu yapılandırılmış meta verilerden yararlanır.

Sırada ne var?

  • Kod Olarak Yönetim: Google Cloud Terraform sağlayıcısını kullanarak Aspect Türlerinizi ve Sözlüklerinizi sürüm kontrolünde tanımlayın. Böylece geliştirme/test/üretim ortamlarında tutarlı şemalar sağlanır.
  • Otomatik Etiketleme: Yeni veri kümesi oluşturulduğunda tetiklenen ve "Veri Varlığı Yönetimi" yönünüzü varsayılan değerlerle (ör. sensitivity=Internal, steward=TBD) inceleme için işaretleyin.