Projeler
Tamamlandı

Modern Veri Ambarı

BigQuery üzerinde madalyon mimarisiyle (Bronze, Silver, Gold) kurulmuş; ERP, CRM ve REST API kaynaklarını Python ile entegre edip dbt ile modelleyen uçtan uca bir veri ambarı.

Genel bakış

Analitik kullanım için sıfırdan kurulmuş bir veri ambarı. CSV dışa aktarımlarından ve bir REST API'den gelen ham veri Bronze katmanına iner, Silver katmanında temizlenip uyumlu hale getirilir ve Gold katmanında raporlama için modellenir.

İki uygulama

Ana dal (main branch) bulutta çalışır: veri ambarı olarak BigQuery, Silver ve Gold katmanları için dbt Cloud, orkestrasyon ve CI için GitHub Actions, kod kalitesi için SonarCloud ve raporlama için Looker Studio.

v1 dalı yerelde çalışır: SQL Server, dbt Core, Apache Airflow, Docker Compose ve Metabase.

Rakamlarla

  • Silver ve Gold katmanlarında 12 dbt modeli.
  • GitHub Actions ile CI'da build ve deployment ile birlikte çalıştırılan 202 veri kalitesi testi.
  • Boyut ve data mart tabloları içeren, Looker Studio'da Sales, Customer, Product ve Data Quality dashboard'ları üzerinden raporlanan Gold katmanı.

Pipeline

  1. ingestion
  2. simulation
  3. dbt run
  4. dbt test

Tasarım kararları

  • Kaynak önekli anahtarlar. CSV ve API kayıtları UNION ALL ile birleştirilir; CSV- ve API- önekleri ID çakışmalarını önler.
  • Kasıtlı veri bozulması. Alınan kayıtların %40'ı, gerçek veri kalitesi sorunlarını simüle etmek için bilinçli olarak bozulur.
  • Full load. Her çalıştırmada veri, kaynaktan veri ambarına tek seferde ve tamamen aktarılır.
  • Sepetler sipariş olarak. API'den gelen sepet verisi sipariş olarak modellenir.
  • Temizleme kuralları. Kurtarılamayan NULL'lar 'n/a' olur; inandırıcı olmayan doğum tarihleri (çok eski veya 18 yaş altı) NULL'a dönüşür; kısaltmalar okunabilir değerlerle değiştirilir.
  • Testler doğru yerde. dbt testleri Silver ve Gold üzerinde çalışır; Bronze ham veriyi olduğu gibi korur.

Referans

Temel metodoloji, Data with Baraa'nın SQL Data Warehouse from Scratch içeriğini izler; ek veri kaynakları ve modelleme ile genişletilmiştir.