Yazılım & Bilgisayar Mühendisliği
Data Warehousing ve Etl Processes hakkında röportaj soruları
Table of Contents
Data Warehousing Temel Kavramları
Veri savaşını katı bir şekilde kavrayış temelleri, yalnızca terim tanımlamanız gerekir, aynı zamanda gerçek dünya senaryolarında nasıl uygulanacağını da açıklayın.
Bir veri deposu nedir?
Bir veri deposu, birçok kaynak sistemlerinden büyük miktarda yapılandırılmış, tarihsel verileri depolayan merkezi bir depodur. İşlem işlemeden ziyade sorgu ve analiz için optimize edilmiştir. Data depolar, panolar ve ad-hoc Analytics gibi iş zekası faaliyetlerine destek vermektedir. Operasyonel veritabanı aksine, konu odaklı, zaman değişkenleri ve non-volatile veriler.
Bir veri deposunun temel özellikleri nedir?
- [[D:0)Subject--cent:[Dönetici:[Dönetici:[Dönetici: · 1 ) Uygulama süreçleri yerine, müşteriler, ürünler, satışlar) organize edildi.
- [FONT:0)Integrated:[Dönetici kaynaklarından gelen veriler temizlenmiş, dönüştürülür ve tutarlı bir format haline standartlaşmıştır.
- [FONT:0) Hayırlı-datile: Veriler bir kez yüklenen; tarihsel değişiklikler sürümler üzerinden takip edilir, yazmaz.
- [FONT:0) Zaman değişkeni:[[Dönem:[Dönem:[Dönem:[Dönem:[Dönem:) Veriler zaman boyut özellikleri içerir (örneğin, tarih damgaları, dönemler) tarihsel analizleri desteklemek için.
Bir veri deposu bir veri gölünden nasıl farklı?
Bir veri gölü, kendi formatında işlemlenmemiş veriler (yapılan, yarı yapılandırılmış veya yapılandırılmamış) Bir veri depoları işlendi, temizlendi ve yapılandırılmış veriler. Organizasyonlar genellikle her ikisini de kullanır: exploratory analitik ve makine öğrenimi için göl ve kontraseptör raporlama için depo.
Operasyonel Data Store (ODS) Nedir?
Bir ODS, veri deposundan farklı olarak, veri deposu için birden fazla operasyonel sistemden verileri entegre etmek için tasarlanmış bir veritabanıdır, ODS genellikle güncellenmektedir (gerçek zamanlı olarak) ve genellikle tarihi anlık görüntüler saklamaz.
Data Modeling in Data Warehousing
Veri modellemesi bir veri deposunun mavi baskısıdır. İki ortak yaklaşım yıldız şeması ve karflake şemasıdır.
Bir yıldız şema nedir?
Bir yıldız şeması, yabancı anahtarlarla bağlantılı merkezi bir gerçek masaya sahiptir. Boyutlar normalleşmiştir (örneğin, kategori, marka ve alt kategori içeren tek bir ürün boyutu tablosu). Bu yapı sorguları basitleştirir ve okuma performansını geliştirir.
Karflake şeması nedir?
Bir karflake şema normalizes boyut tablolarını birden çok ilgili tablolara normalleştirir. Örneğin, bir ürün boyutu ayrı ürün, marka ve kategori masalarına bölünebilir.Bu veri reddans azaltırken, katılma sayısını artırır ve yavaş sorgu performansı artırır.
Gerçek bir masa nedir? Gerçeklerin türleri nelerdir?
Gerçek bir masa, nicel önlemler (örneğin, satış miktarı, miktar, kar) ve boyut masalarına bağlantı kurmak için yabancı anahtarlar olarak sınıflandırılabilir: Gerçek tablolar olarak sınıflandırılabilir:
- [FONT:0)Transactional[Dönetici: 1 ) - bireysel olaylar (örneğin, her satış hattı öğe).
- [FONT:0)Periodik snapshot[[[Dönemli: 1) Düzenli aralıklarla önlemler alır (örneğin, günlük envanter seviyeleri).
- [FONT:0) Yükümlülük ([[Dönetici: 1) - sabit bir başlangıç ve son (örneğin, sipariş yerine getirilmesi aşamaları) ile süreçleri.
Mülakatçılar size verilen bir iş senaryosu için uygun gerçek türü seçmenizi isteyebilirler.
Boyut masaları nedir? Uyumlu boyutlarda açıklayın.
Boyut tabloları açıklayıcı özellikler içerir (örneğin, müşteri adı, ürün rengi, mağaza yeri). Bilgi deposu veya farklı veri söylentileri içinde birden fazla gerçek tabloda bilgi paylaşımı veya paylaşılan bilgiler paylaşılmalıdır.
Yavaşça Değişen Boyutlar (SCD)
Zaman içinde boyut özelliklerinde değişiklikler yapmak, ETL tasarımlarında kritik bir beceridir. Röportajlar genellikle SCD tiplerini sorarlar.
Tip 1, Tip 2 ve Tip 3 yavaş değişen boyutlarda.
- [FONT=0)Type 1:[[Dönetici:0) Yeni değerle eski değeri yazmak için. Hiçbir tarih gerekli olduğunda uygun değildir (örneğin, bir tipoyu bir ürün adı altında düzeltmesi).
- [FONT=0)Type 2:[Dönetici:0) Yeni bir satırı değiştir, etkili tarih aralıkları (bugün, son tarih) ve mevcut bir bayrak. Bu, müşteri adresi veya çalışan departmanı gibi özellikler için en yaygın korur.
- [[Dönetici:0)Type 3:[Dönetici:0) Mevcut değeri tutarken önceki değeri depolamak için yeni bir sütun ekler. Bu, sınırlı tarihe izin verir (genellikle bir önceki sürüm).Değişen özellikler için kullanılır (örneğin, ürün kategorisi gerçekignment).
Ticaretle ilgili tartışmaya hazır olun: Tip 2 sıra sayımını artırır, ancak tam denetim izi verir; Tip 1 basit ama tarih kaybeder.
ETL Süreci Genel Bakış
ETL süreci, veri entegrasyonunun arka kemiğidir. Her aşamada ve ortak zorlukların ayrıntılı bir anlayış önemlidir.
ETL'nin her adımını ayrıntılı olarak açıklar.
[[Dönt:0)Extract:[Dönetici] Data çeşitli kaynak sistemlerinden çekilir - ilişkisel veritabanılar, düz dosyalar (CSV, JSON, XML), API'ler, bulut depolama, veya akış platformları. Ekstraksiyon dolu olabilir (tüm veriler) veya artımlı (yalnızca yeni/modize edilmiş rekorlar son iş meydan okumaları farklı veri formatlarını, ağ gecikmelerini ve kaynak sistemini içerir.
[FONT:0)Transform:[Dönemli:[Dönemli)[Dönemli)[Dönemli))[Dönemli))[[Dönemli)))[Üye: · 3|Dönemli|Dönemli/tr|Dönemli))[Üye Olmayanlar (@hazırda))[Üye/Üye/gün))[Üye/gün)[Üye/gün)[Üye/Üye/Üye/Üye/Üye/Üye/Üye/Üye/Üye/Üye/Üye/Üye/Üye/Üye/Üye))
[FONT:0)Load:[Dönetici:[Döneme:0) Geri dönüşüme yol açan veri depolarına eklenmiştir. Yükler: tam yenileme (truncate ve yeniden yük), arter ve yüksek lisans (merge) ve yük sırasındaki işlem yönetimi.
ETL ve ELT arasındaki fark nedir?
ETL, depoya yüklemeden önce verileri döndürür. ELT (Ekstra, Yük, Dönüştürme) ilk önce ham verileri toplar ve sonra veri depolarının işleme gücünü (örneğin, SQL veya MapReduce) kullanarak otomatik olarak kullanır. ELT, Snowflake, BigQuery ve Redchange gibi modern bulut depolarında yaygındır, depolama ve hesaplamalar da veri paylaşımı gerektirir. ETL hala karmaşık iş mantığı veya kaynak verilerinin düşük olduğunda tercih edilir.
Yaygın ETL araçları nedir?
Popüler araçlar Informatica PowerCenter, Talend, IBM DataStage, Microsoft SSIS, Apache NiFi ve AWS Glue, Azure Data Factory ve Google Dataflow gibi bulut tabanlı hizmetler içerir. Açık kaynak seçenekleri: Pentaho (Kettle), Apache Airflow (veyachestration), ve t (ya da dönüşümler için araç inşa etmek)
Ortak Röportaj Soruları ve Onların Detaylı Cevapları
1. ETL süreçlerinde karşı karşıya kalan başlıca zorluklar nedir ve onları nasıl hafifletiyorsunuz?
Meydanlar şunları içerir:
- [FONT:0)Data Quality quality issues[[[Dönetici:0)[[Döneticileri, tutarsız formatları yok edin: profilleme ve geçerlilik kuralları erken uygulayın; masaları karantinaya almak için kötü kayıtları kullanın.
- [FONT:0)Performance şişenecks[[Dönetici: 1 ) - kaynak sistemlerinden yavaş çıkarma, ağır dönüşümler veya verimsiz yükler. Mitigation: Artan ekstraksiyon, paralel işlem, toplu bölme ve SQL optimizasyonu.
- [FONT:0)Data volume growth[[[Dönetici:0)[[Dönetici:0)))))))))))) - yükleme terabaylar günlük.
- [FONT:0)Data latency requirements[Dönetici:0][Döneticileri için gerekli olan aşağıdaki güncel güncellemeler için: değişim verileri yakalama (CDC) ve akış akış hızlama araçları (Kafka, Kinesis).
- [FONT:0)Dependency management[[Dönetici: 1) Kaynak içeriği veya çatışmaları planlamadan dolayı başarısız olan ETL işleri. Mitigation: Retry logic and uyarı ile orkestration araçları kullanın.
2. ETL süreçlerini performans için nasıl optimize edersiniz?
Performans optimizasyonu birden çok alanı kapsar:
- [FONT:0)Extraction:[Dönetici:[Dönerge:[Döntme:0)[Dönlendirme:[Dönetici:[Dönetici:0) tam yük yerine artarak çıkarma; CDC (e.g., log tabanlı veya zamanlayıcı); geniş kopya hizmetleri kullanın.
- [FONT:0)Transformasyon:[Dönetici:[Dönlendirme:[Dönlendirme:[Dönlendirme:) Mümkün olan Push dönüşümleri (örneğin, veritabanında SQL'yi kullanın); sıra dışı işlemlerden kaçının; bağımsız görevleri paralelleştirmek.
- [FONT:0)Load:[Döneticiler ve kısıtlamalar yük sırasında ve yeniden inşa edilebilir; toplu eklemeler kullanın; büyük masalara geçiş göz önünde bulundurun.
- [FONT:0)Infra structure:[Dönetici:[Dönetici: · 1) SSD'leri, ölçek hesaplama kaynaklarını kullanın ve şişeleri tanımlamak için profilli aletlerle monitörlayın.
3. OLAP ve OLTP sistemleri arasındaki fark nedir?
OLTP (Online İşlem İşleme) yüksek hacimli, kısa, atomik işlemler (örneğin, sipariş girişi, envanter güncellemeleri) için tasarlanmıştır. Data normalize edilir ve sorgular küçük bir dizi kayıt ile iletişim kurun. OLAP (Online Analytical Processing) tarihsel verilerin toplayıcısı için tasarlanmıştır. OLTP raporları, dosya ve madenciliği genellikle normalleştirilmiştir (star şemalar) ve çok boyutlu analizler (slice, dice, matkap-down).
4.Göç anahtar kavramını veri savaşta doğal anahtarları açıklayın.
Bir gerçek anahtar yapay, sistem tarafından üretilen benzersiz bir tanımlayıcıdır (örneğin, tam zamanlı dizi) SCD Type 2 (iş anahtarı başına bir iş tanımlayıcısı), ve ayrıca performans (örneğin, ürün kodu, müşteri kimlik).
5. ETL boru hattında hata nasıl çalışırsınız?
Güçlü bir hata-çaklama çerçevesi uygulayın:
- İş ID, zamantamp, sıra verileri ve hata açıklaması ile ayrı bir hata masasına deneyerek bloklar ve günlük hataları kullanın.
- Veri kalitesi kuralları tanımlar ve bir kurantine klasörüne veya masaya geçerli olmayan kayıtları reddeder.
- Kritik başarısızlıklar için uyarıları (email, Slack) ayarlar.
- Geçici hataların yeniden deneme mantığı (network timeouts).
- Her iş adım için başarı / başarısızlık statüsünü takip etmek için bir run history table.
6. Veri yakalama (CDC) nedir?
CDC, değişimleri yakalamak için bir tekniktir (örneğin, güncelleme, silinler) kaynak verileri ve bunları hedef bir sisteme uygular. Yöntemler şunları içerir: “HAKKT:0)Trigger bazlı (database tetikleyiciler)).[Diff-based)[değiştir | kaynağı değiştirmiş sütunlar)[Diff-düşükümlü)[Diff-düşükümlü)[Diff-düşükümlü)[değiştir | kaynağı değiştir)[değiştir | kaynağı değiştir)[değiştir | kaynağı değiştir)[değiştir | kaynağı değiştir)[değiştir | kaynağı değiştir)
Gelişmiş Röportaj Soruları Soruları
7. Hem toplu hem de gerçek zamanlı ingestion destekleyen bir veri deposu için ETL süreci nasıl tasarlıyorsunuz?
Hibrit mimariler yaygındır. Parlamenter yükler kullanarak gece işleri programlayın. Gerçek zamanlı olarak: bir akış katmanı (örneğin Kafka) olayları yakalamak için, sonra hafif dönüşümler ve gerçek zamanlı bir kata yük uygulayın (örneğin, bir göl evinde).
8. Veri çizgisini açıklayın ve neden önemlidir.
Veri hattı, veri kaynağından hedef almak için kaynaktan kaynaktan kaynaktan kaynaktan kaynaktan kaynak alır. Etki analizine yardımcı olur ( kaynak değişikliklerine izin verirseniz), debugging (Cint veya SOX gibi düzenlemelerle ilgili olarak) ve denetimleme (örneğin, Apache Atlas, Marquez veya ticari çözümler (Collibra, Alation) ETL projesinde otomatik satırlamalar sağlayabilir.
9. Bir veri deposu ve bir veri martı arasındaki fark nedir?
Bir veri deposu, birden fazla konu alanını kapsayan bir işletme alanıdır. Bir veri martı tek bir işletme işlevine odaklanır (örneğin, satış, finans). Data Martys en üst kısmında inşa edilebilir (ya da bağımsız olarak)
10. ETL'de yavaş yavaş değişen boyutlarda nasıl çalışırsınız?
Yaklaşım SCD tipine bağlıdır:
- [FONT:0)Type 1:[DATE:0) Kayıtları yazmak için UPDATE ifadelerini kullanın.
- [FONT=0)Type 2:[[DÜDÜDÜDÜDÜDÜŞÜNÜŞÜNÜye Olmayanlar İçin Bir MERGE (Öyle) Önceki sürümü kapatmak ve başlangıç tarihi ile yeni bir satır eklemek = şimdi ve mevcut bayrak = gerçek.
- [FONT:0)Type 3:[DDÜT:1] UPDATE mevcut sütunu genişletin ve önceki sütuna eski değeri hareket ettirin.
Büyük boyutlarda, veritabanı tur gezilerini azaltmak için bir göz önünde bulundurun. Ayrıca gerçek değişiklikleri tespit etmek ve gereksiz güncelleştirmelerden kaçınmak için hash karşılaştırmalarını da göz önünde bulundurun.
ETL En İyi Uygulamalar
Röportajlar pratik deneyim ararlar. Tartışmalar sırasında bu en iyi uygulamaları ortadan kaldırırlar:
- [FONT:0)Modular tasarımı:[Dönetici:[Dönetici:0) Break ETL işleri yeniden kullanılabilir bileşenlere (örneğin, yeniden kullanılabilir yük, standart dönüşüm kütüphanesi).
- [FONT:0]Idempotency:[Dönetici:[Dönetici:0) Bir işi tekrar yürütmenin aynı sonucu (kendileri değil) aynı sonucu üretmesini sağlayın.
- [FONT:0)Metadata yönetimi:[Dönetici:[Dönetici:[Dönetici:0) Bir veri sözlüğü ve iş bağımlılık grafiğini korur.
- [FONT=0)Performance izleme:[Dönetici:[Dönetici: 0,0)Performance izleme:[Dönetici:[Dönetici:) Track key metrics: rows processed per minute, period, hata oranları ve skew. Use pano.
- [FONT=0)Version kontrolü:[Dönetici:[Dönetici:0) Mağaza ETL kodu SQL senaryoları ve konfigürasyon dosyaları ile birlikte Git.
- [FONT:0)Testing:[Döneticiler için birim testleri yaz, son kanallar için entegrasyon testleri ve kaynak ve hedefe karşı veri karşılaştırma testleri.
Daha derin öğrenme için dış kaynaklar: [[DÜDÜDÜDÜSÜSÜŞÜNÜSÜŞÜNÜSÜŞÜNÜŞÜNÜye Olmayanlar İçin Referanslar: ETL vs ELT) ve [[Döneticiler evrimsel veriler üzerinde ).
Sonuç Sonuç Sonuç Sonuç Sonuç Sonuç Sonuç Sonuç
Veri savaşırlığı ve ETL süreçleri hakkında yapılan röportajlar hem teorik bilgi hem de pratik tecrübe gerektirir.Ana konseptlere odaklanın - veri depo özellikleri, boyut modellemesi, SCDs ve ETL optimizasyonu - ve gerçek dünya sorunlarını açık bir şekilde tartışmak için hazır olun.Bu ortak ve gelişmiş sorular için hazırlanmak için, başarılı veri yönetimi rolleri için gerekli olan uzmanlığı göstereceksiniz.