Aracılığıyla paylaş


Madalyon göl evi mimarisi nedir?

Madalyon mimarisi, lakehouse'da depolanan verilerin kalitesini belirten bir dizi veri katmanını açıklar. Azure Databricks, kurumsal veri ürünleri için tek bir gerçek kaynağı oluşturmak için çok katmanlı bir yaklaşım benimsemenizi önerir.

Bu mimari, veriler verimli analiz için iyileştirilmiş bir düzende depolanmadan önce birden çok doğrulama ve dönüştürme katmanından geçtiğinden, bölünmezlik, tutarlılık, yalıtım ve dayanıklılığı garanti eder. Bronz (ham), gümüş (doğrulanmış) ve altın (zenginleştirilmiş) terimleri, bu katmanların her birinde verilerin kalitesini açıklar.

Veri tasarımı deseni olarak madalyon mimarisi

Madalyon mimarisi, verileri mantıksal olarak düzenlemek için kullanılan bir veri tasarımı desenidir. Amacı, mimarinin her katmanında (Bronz ⇒ Silver ⇒ Gold katman tablolarından) akan verilerin yapısını ve kalitesini artımlı ve aşamalı olarak geliştirmektir. Madalyon mimariler bazen çok atlamalı mimariler olarak da adlandırılır.

Kuruluşlar bu katmanlarda verileri ilerleterek veri kalitesini ve güvenilirliğini artımlı olarak geliştirerek iş zekası ve makine öğrenmesi uygulamaları için daha uygun hale getirir.

Madalyon mimarisinin izlenmesi önerilen en iyi yöntemdir ancak bir gereksinim değildir.

Soru Bronze Silver Gold
Bu katmanda ne olur? Ham veri alımı Veri temizleme ve doğrulama Boyutsal modelleme ve toplama
Hedeflenen kullanıcı kimdir? - Veri mühendisleri
- Veri işlemleri
- Uyumluluk ve denetim ekipleri
- Veri mühendisleri
- Veri analistleri (ayrıntılı analiz için gerekli ayrıntılı bilgileri hala koruyan daha gelişmiş bir veri kümesi için Silver katmanını kullanın)
- Veri bilimciler (model oluşturma ve gelişmiş analiz gerçekleştirme)
- İş analistleri ve iş zekası geliştiricileri
- Veri bilimciler ve makine öğrenmesi (ML) mühendisleri
- Yöneticiler ve karar alıcılar
- operasyonel ekipler

Örnek madalyon mimarisi

Bu madalyon mimari örneği, bir iş operasyonları ekibi tarafından kullanılmak üzere bronz, gümüş ve altın katmanları gösterir. Her katman, operasyon kataloğunun farklı bir şemasında depolanır.

Madalyon mimari bronz, gümüş ve altın katmanlar

  • Bronz katman (ops.bronze): Bulut depolama, Kafka ve Salesforce'tan ham verileri alır. Burada veri temizleme veya doğrulama işlemi yapılmaz.
  • Gümüş katman (ops.silver): Bu katmanda veri temizleme ve doğrulama gerçekleştirilir.
    • Müşteriler ve işlemler hakkındaki veriler null değerler bırakılarak ve geçersiz kayıtlar bölünerek temizlenir. Bu veri kümeleri adlı customer_transactionsyeni bir veri kümesine katılır. Veri bilimcileri bu veri kümesini tahmine dayalı analiz için kullanabilir.
    • Benzer şekilde, Salesforce'un hesapları ve fırsat veri kümeleri, hesap bilgileriyle geliştirilmiş olan oluşturma account_opportunitiesişlemine katılır.
    • Veriler leads_raw adlı leads_cleanedbir veri kümesinde temizlenir.
  • Altın katman (ops.gold): Bu katman iş kullanıcıları için tasarlanmıştır. Gümüş ve altın değerinden daha az veri kümesi içerir.
    • customer_spending: Her müşteri için ortalama ve toplam harcama.
    • account_performance: Her hesap için günlük performans.
    • sales_pipeline_summary: Uçtan uca satış işlem hattı hakkında bilgi.
    • business_summary: Yönetim personeli için yüksek düzeyde toplanmış bilgiler.

Ham verileri bronz katmana alma

Bronz katman ham, karşılanmamış veriler içerir. Bronz katmanda alınan veriler genellikle aşağıdaki özelliklere sahiptir:

  • Veri kaynağının ham durumunu özgün biçimlerinde içerir ve korur.
  • Artımlı olarak eklenir ve zaman içinde büyür.
  • Analistler ve veri bilimcilerinin erişimi için değil, gümüş tablolar için verileri zenginleştiren iş yükleri tarafından tüketilmeye yöneliktir.
  • Verilerin doğruluğunu koruyarak tek bir gerçeklik kaynağı görevi görür.
  • Tüm geçmiş verileri tutarak yeniden işlemeyi ve denetimi etkinleştirir.
  • Bulut nesne depolama (örneğin, S3, GCS, ADLS), ileti veri yolları (kafka, Kinesis vb.) ve federasyon sistemleri (örneğin Lakehouse Federasyonu) dahil olmak üzere kaynaklardan gelen akış ve toplu işlemlerin herhangi bir bileşimi olabilir.

Veri temizlemeyi veya doğrulamayı sınırlama

Bronz katmanda en az veri doğrulaması gerçekleştirilir. Azure Databricks, bırakılan verilere karşı emin olmak için, beklenmeyen şema değişikliklerine karşı koruma sağlamak için çoğu alanın dize, DEĞIŞKEN veya ikili olarak depolanmasını önerir. Verilerin başarısı veya kaynağı (örneğin) _metadata.file_name gibi meta veri sütunları eklenebilir.

Gümüş katmandaki verileri doğrulama ve yinelenenleri kaldırma

Veri temizleme ve doğrulama işlemleri gümüş katmanda gerçekleştirilir.

Bronz katmandan gümüş tablolar oluşturma

Gümüş katmanını oluşturmak için, bir veya daha fazla bronz veya gümüş tablodaki verileri okuyun ve gümüş tablolara veri yazın.

Azure Databricks, doğrudan alımdan gümüş tablolara yazmanızı önermez. Doğrudan veri alımından yazarsanız, şema değişiklikleri veya veri kaynaklarındaki bozuk kayıtlardan kaynaklanan hatalara neden olursunuz. Tüm kaynakların yalnızca ekli olduğunu varsayarsak, çoğu okumayı bronzdan akış okumaları olarak yapılandırın. Toplu okuma işlemleri küçük veri kümeleri (örneğin, küçük boyutlu tablolar) için ayrılmalıdır.

Gümüş katman, verilerin doğrulanmış, temizlenmiş ve zenginleştirilmiş sürümlerini temsil eder. Gümüş katman:

  • Her zaman her kaydın en az bir doğrulanmış, toplanmamış gösterimini içermelidir. Toplam gösterimler birçok aşağı akış iş yükünü yönlendiriyorsa, bu gösterimler gümüş katmanda olabilir, ancak genellikle altın katmandadır.
  • Veri temizleme, yinelenenleri kaldırma ve normalleştirme işlemlerini gerçekleştirdiğiniz yerdir.
  • Hataları ve tutarsızlıkları düzelterek veri kalitesini artırır.
  • Aşağı akış işleme için verileri daha kullanılabilir bir biçimde oluşturur.

Veri kalitesini zorunlu kılma

Aşağıdaki işlemler gümüş tablolarda gerçekleştirilir:

  • Şema zorlaması
  • Null ve eksik değerleri işleme
  • Yinelenen verileri kaldırma
  • Sıra dışı ve geç gelen veri sorunlarının çözümü
  • Veri kalitesi denetimleri ve uygulama
  • Şema evrimi
  • Tür atama
  • Birleştirmeler

Verileri modellemeye başlama

Yoğun iç içe veya yarı yapılandırılmış verileri temsil etme de dahil olmak üzere, gümüş katmanda veri modellemesi gerçekleştirmeye başlamak yaygın bir durumdur:

  • Veri türünü kullanın VARIANT .
  • Dizeleri kullanın JSON .
  • Yapılar, haritalar ve diziler oluşturun.
  • Şemayı düzleştirin veya verileri birden çok tabloya normalleştirin.

Altın katmanı ile power analytics

Altın katman, aşağı akış analizini, panoları, ML'yi ve uygulamaları yönlendiren verilerin son derece iyileştirilmiş görünümlerini temsil eder. Altın katmanı verileri genellikle belirli dönemler veya coğrafi bölgeler için yüksek oranda toplanır ve filtrelenmiş olur. İş işlevlerine ve ihtiyaçlarına eşleyen anlamsal olarak anlamlı veri kümeleri içerir.

Altın katman:

  • Analiz ve raporlama için uyarlanmış toplu verilerden oluşur.
  • İş mantığı ve gereksinimleriyle uyumlu.
  • Sorgularda ve panolarda performans için iyileştirilmiştir.

İş mantığı ve gereksinimleriyle uyumlu hale getirme

Altın katman, ilişki kurarak ve ölçüleri tanımlayarak boyutsal bir model kullanarak verilerinizi raporlama ve analiz için modelleyebileceğiniz yerdir. Altın cinsinden verilere erişimi olan analistlerin etki alanına özgü verileri bulabilmesi ve soruları yanıtlaması gerekir.

Altın katman bir iş alanı modellediğinden, bazı müşteriler İk, finans ve BT gibi farklı iş gereksinimlerini karşılamak için birden çok altın katman oluşturur.

Analiz ve raporlama için uyarlanmış toplamalar oluşturma

Kuruluşların genellikle ortalamalar, sayımlar, maksimumlar ve minimumlar gibi ölçüler için toplu işlevler oluşturması gerekir. Örneğin, işletmenizin toplam haftalık satış hakkındaki soruları yanıtlaması gerekiyorsa, analistlerin ve diğer kişilerin sık kullanılan gerçekleştirilmiş görünümleri yeniden oluşturmaları gerekmeyecek şekilde bu verileri önceden toplayan gerçekleştirilmiş weekly_sales bir görünüm oluşturabilirsiniz.

CREATE OR REPLACE MATERIALIZED VIEW weekly_sales AS
SELECT week,
       prod_id,
       region,
       SUM(units) AS total_units,
       SUM(units * rate) AS total_sales
FROM orders
GROUP BY week, prod_id, region

Sorgularda ve panolarda performansı iyileştirme

Bu veri kümeleri sıklıkla sorgulandığından, altın katmanlı tabloları performans için en iyi duruma getirmek en iyi yöntemdir. Büyük miktarda geçmişe ait verilere genellikle sliver katmanında erişilir ve altın katmanda gerçekleşmez.

Veri alımı sıklığını ayarlayarak maliyetleri denetleme

Verilerin ne sıklıkta alınacaklarını belirleyerek maliyetleri kontrol edin.

Veri alma sıklığı Maliyet Gecikme süresi Bildirim temelli örnekler Yordam örnekleri
Sürekli artımlı alma Daha fazla Alt - Bulut depolama veya ileti veri yolu'ndan almak için kullanarak spark.readStream Akış Tablosu.
- Bu akış tablosunu güncelleştiren Delta Live Tables işlem hattı sürekli olarak çalışır.
- Bulut depolama veya ileti veri yolu'ndan Delta tablosuna almak için bir not defterinde kullanarak spark.readStream yapılandırılmış Akış kodu.
- Not defteri, sürekli iş tetikleyicisi olan bir Azure Databricks işi kullanılarak düzenleniyor.
Tetiklenen artımlı alma Alt Daha fazla - kullanarak spark.readStreambulut depolamadan veya ileti veri yolu'ndan Akış Tablosu alma.
- Bu akış tablosunu güncelleştiren işlem hattı, işin zamanlanmış tetikleyicisi veya bir dosya varış tetikleyicisi tarafından tetikleniyor.
- Tetikleyicili Trigger.Available bir not defterinde yapılandırılmış Akış kodu.
- Bu not defteri işin zamanlanmış tetikleyicisi veya bir dosya varış tetikleyicisi tarafından tetikleniyor.
El ile artımlı alma ile toplu alma Alt Seyrek çalıştırıldığından en yüksek. - kullanarak spark.readbulut depolamadan Akış Tablosu alma.
- Yapılandırılmış Akış kullanmaz. Bunun yerine, bir bölümün tamamını bir kerede güncelleştirmek için bölüm üzerine yazma gibi temel öğeler kullanın.
- Artımlı işlemeyi ayarlamak için kapsamlı yukarı akış mimarisi gerektirir ve bu da Yapılandırılmış Akış okuma/yazma işlemlerine benzer bir maliyet sağlar.
- Ayrıca kaynak verilerin bir datetime alana göre bölümlenmesi ve ardından bu bölümdeki tüm kayıtların hedefe işlenmesi gerekir.