ELT
Çıkar, Yükle, Dönüştür (Extract, Load, Transform)
- Okunuşu
- i el ti
Kısaca
ELT, veriyi kaynaklardan çıkarıp ham hâliyle bir data warehouse'a yükleyen ve ardından orada, genellikle SQL ile dönüştüren bir veri entegrasyonu yaklaşımıdır.
ELT nedir?
ELT, extract, load, transform (çıkar, yükle, dönüştür) demektir. Veri; uygulama veritabanları, SaaS araçları ve olay günlükleri gibi kaynaklardan çıkarılır, hedefe olduğu gibi yüklenir ve ancak ondan sonra hedefin kendi içinde temiz, analize hazır tablolara dönüştürülür. Hedef genellikle BigQuery, Snowflake ya da Amazon Redshift gibi bir bulut data warehouse'u ya da warehouse tarzı tabloları destekleyen bir data lake olan lakehouse'tur.
Yaklaşım, bulut warehouse'larının depolamayı ucuzlattığı ve hesaplama gücünü kolayca ölçeklenebilir hâle getirdiği 2010'larda yayıldı. Veri alma (ingestion) araçları ham veriyi bir zamanlamaya göre içeri kopyalar; dönüşümler ise temizlenmiş, birleştirilmiş ve toplanmış tabloları katmanlar hâlinde oluşturan, çoğu zaman dbt gibi bir araçla yönetilen SQL sorguları olarak yazılır. Ham kopya saklandığı için düzeltilen bir hata ya da yeni bir iş sorusu, veriyi yeniden çıkarmadan SQL'i yeniden çalıştırarak ele alınabilir.
Market alışverişini düşünün: ETL, sebzeleri eve getirmeden önce pazarda yıkayıp doğramaya benzer; ELT ise her şeyi eve getirir, buzdolabına koyar ve her tarifin ihtiyacını sonra hazırlar. Bedeli şudur: kişisel ya da hassas alanlar dahil ham veri warehouse'a düşer, bu yüzden erişim denetimleri ve maskeleme önem kazanır; ağır dönüşümler de warehouse faturasını kabartır.
ELT ile ETL arasındaki fark, adımların sırasına ve işin nerede yapıldığına dayanır. ETL'de ayrı bir sistem veriyi hedefe ulaşmadan önce dönüştürür, bu yüzden yalnızca temizlenmiş veri saklanır; ELT'de ise hedef ham veriyi saklar ve onu kendi hesaplama gücüyle dönüştürür. Verinin kaynağından çıkmadan önce filtrelenmesi ya da anonimleştirilmesi gerektiğinde veya hedef ağır işlemeyi kaldıramadığında ETL hâlâ uygundur; gerçek hayattaki pek çok veri hattı da ikisini karıştırır.
Önemli noktalar
- ELT önce ham veriyi yükler, sonra onu hedefin içinde dönüştürür.
- Bulut data warehouse'larının hesaplama gücüne dayanır.
- Dönüşümler genellikle SQL ile yazılır ve çoğu zaman dbt gibi bir araçla düzenlenir.
- Ham veriyi saklamak, veriyi yeniden çıkarmadan sonuçları tekrar oluşturmayı sağlar.
- ETL yüklemeden önce, ELT ise yükledikten sonra dönüştürür.
Örnek
-- Extract + Load: an ingestion tool copies raw rows into raw.orders as-is
-- Transform: build a clean table inside the warehouse with SQL
CREATE OR REPLACE TABLE analytics.daily_revenue AS
SELECT
CAST(created_at AS DATE) AS order_date,
UPPER(TRIM(country_code)) AS country,
SUM(total_cents) / 100.0 AS revenue
FROM raw.orders
WHERE status = 'paid'
GROUP BY 1, 2;
-- Logic changed? Rerun the query: the raw data is still thereSık sorulan sorular
ELT ile ETL arasındaki fark nedir?
İkisi de veriyi analiz için kaynaklardan bir hedefe taşır. ETL veriyi yolda, yüklemeden önce dönüştürür; ELT ise önce ham veriyi yükler ve onu hedefin içinde, genellikle bir bulut data warehouse'unda SQL ile dönüştürür.
ELT, ETL'nin yerini mi alıyor?
Bulut warehouse'lar üzerindeki analitik için ELT en yaygın yaklaşım hâline geldi. Veri saklanmadan önce temizlenmesi ya da hassas alanlarından arındırılması gerektiğinde ETL hâlâ kullanılır ve pek çok veri hattı ikisini birleştirir.
dbt nedir?
Data build tool'un kısaltması olan dbt, ELT'nin dönüştürme adımı için yaygın olarak kullanılan bir araçtır. Her tablo bir SQL SELECT sorgusu olarak yazılır; dbt de bunları warehouse'un içinde, veri testleri ve dokümantasyonla birlikte doğru sırayla çalıştırır.
İlgili sayfalar
- ETLVeritabanları, s. 14ETL, kaynak sistemlerden veriyi çıkaran, temiz ve tutarlı bir biçime dönüştüren ve bir hedef depoya yükleyen bir veri entegrasyonu sürecidir.
- Data WarehouseVeritabanları, s. 8Data warehouse, birçok kaynaktan geçmiş veriyi toplayan ve ekiplerin büyük raporlama sorgularını hızla çalıştırdığı analitik amaçlı merkezi bir veritabanıdır.
- Data LakeVeritabanları, s. 7Data lake, büyük miktarda ham veriyi, yapılandırılmış olsun ya da olmasın, biri analiz etmek isteyene kadar özgün biçiminde tutan merkezi bir depolama alanıdır.
- OLAPVeritabanları, s. 25OLAP (online analytical processing), büyük miktarda geçmiş veri üzerindeki karmaşık analitik sorulara hızla yanıt vermek için kurulmuş sistemleri anlatır.
- SQLVeritabanları, s. 32SQL, ilişkisel veritabanlarıyla çalışmanın standart dilidir; tablo oluşturmak ve içindeki veriyi eklemek, sorgulamak, güncellemek ve silmek için kullanılır.
Bu sayfada bir hata ya da eksik mi gördünüz?Düzeltme önerin