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.
- 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_transactions
yeni 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_opportunities
işlemine katılır. - Veriler
leads_raw
adlıleads_cleaned
bir veri kümesinde temizlenir.
- 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ı
- 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.readStream bulut 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.read bulut 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. |