Apa argumen yang mendukung penggunaan proses ELT di atas ETL?

19

Saya menyadari bahwa perusahaan saya menggunakan proses ELT (extract-load-transform) alih-alih menggunakan proses ETL (extract-transform-load).
Apa perbedaan dalam dua pendekatan dan di mana situasi yang satu akan "lebih baik" dari yang lain? Akan lebih bagus jika Anda bisa memberikan beberapa contoh.

Ada apa
sumber

Jawaban:

13

banyak Diskusi tentang ETL vs ELT di luar sana.

Perbedaan utama antara ETL vs ELT adalah di mana Pemrosesan terjadi, ETL memproses data terjadi dalam alat ETL (biasanya merekam pada suatu waktu dan dalam memori) Pemrosesan data ELT terjadi dalam mesin basis data

Data sama dan hasil akhir data dapat dicapai dalam kedua metode.

itu sangat tergantung pada Anda dan lingkungan Anda. Jika Anda memiliki mesin database yang kuat dan perangkat keras yang baik dan Anda dapat melakukan pengolahan berat di atasnya, ELT baik untuk Anda, Jika Anda memiliki mesin datawarehouse yang sibuk dan Anda perlu membebaskannya dari pemrosesan, lanjutkan. untuk ETL.

perhatikan bahwa memiliki alat ETL memberi Anda kedua opsi, seperti ETL (T), Anda dapat melakukan Transformasi di alat ETL dan Anda dapat melakukan transformasi di mesin Database juga

tetapi ELT Anda hanya memiliki opsi transformasi dalam mesin basis data, tetapi Anda harus tahu bahwa Basis Data lebih baik pada operasi berbasis setel daripada alat ETL yang dapat direkam kapan saja.

pertanyaan serupa ditanyakan pada SO tetapi mendukung ETL dan juga Artikel yang bagus membandingkan ETL vs ELT, tetapi mendukung ELT

AmmarR
sumber
10

Ini hampir merupakan masalah semantik. Banyak udara panas dilepaskan dalam diskusi tentang ini, tetapi saya tidak benar-benar yakin bahwa ada kedalaman filosofis yang nyata untuk perbedaan antara keduanya.

Pada tingkat tertentu, Anda dapat melihat ETL sebagai mentransformasikan data dalam alat sisi klien sebelum akhirnya memuatnya, dengan ELT menyiratkan bahwa data ditransfer ke semacam area pementasan dengan sedikit perubahan pada format. 'Transformasi' terjadi sesudahnya.

Ini adalah definisi yang sangat halus dan dapat diterapkan pada berbagai arsitektur teknis, dan ada banyak kemungkinan desain yang dapat digunakan untuk menggambarkan istilah tersebut.

Saya sangat mendukung arsitektur di mana semua transformasi dan logika bisnis dapat dibangun menjadi basis kode yang kurang lebih homogen, dan saya telah melakukan banyak sistem di mana logika transformasi itu cukup kompleks. Ini cenderung hanya menggunakan alat ETL untuk mendaratkan data dan kemudian semua transformasi dilakukan dalam prosedur yang tersimpan. Bisa dibilang ini bisa digambarkan sebagai ETL atau ELT dengan perbedaan hanya menjadi salah satu semantik.

Namun beberapa alat sangat berpusat pada basis data (Oracle Data Integrator, misalnya, sering disebut sebagai alat ELT). Jika Anda berlangganan tampilan ini, maka 'Ekstrak' dan 'Muat' terjadi sebelum data ditransformasikan saat mereka mendarat ke area pementasan dan kemudian dikelompokkan dengan SQL atau kode PL / SQL (yang dapat dihasilkan oleh alat atau tulisan tangan). Beberapa orang yang saya ajak bicara tampaknya menganggap manfaat utama ODI karena itu bukan OWB.

Jika Anda menggunakan alat sisi klien seperti Informatica Powercentre atau MS SQL Server Integration Services maka alat tersebut dapat melakukan transformasi luas ke sisi klien data. Beberapa alat ETL, seperti Ascential Datastage dan Ab Initio dirancang untuk melakukan banyak pekerjaan dengan file datar dan struktur data dalam memori untuk kecepatan. Dalam arsitektur semacam ini transformasi telah dilakukan sebelum dimuat. Mungkin jenis arsitektur ini dapat dengan jelas diklasifikasikan sebagai 'ETL', meskipun saya telah melihat banyak proyek yang berfokus pada alat di mana semua pekerjaan nyata dilakukan oleh sekelompok kode prosedur yang tersimpan.

Ada keuntungan untuk berbagai alat dan pendekatan arsitektur, tetapi orang tidak dapat membuat pernyataan menyeluruh tentang manfaat pendekatan 'ETL' vs 'ELT' karena istilahnya sangat luas sehingga perbedaannya hampir tidak berarti. Beberapa alat dan arsitektur mungkin memiliki keunggulan spesifik - misalnya, penggunaan file flat Ab Initio yang besar memberikan keunggulan kinerja yang signifikan pada volume data yang besar.

Dalam praktiknya, membuat perbedaan antara 'ETL' dan 'ELT' tidak ada artinya tanpa melakukan diskusi yang lebih mendalam tentang persyaratan sistem, platform, dan arsitektur teknis.

ConcernedOfTunbridgeWells
sumber
1

Ini juga masalah uang. Di mana volume data tinggi seperti yang Anda tunjukkan, solusi berbasis file-datar seperti Ab Initio dan DataStage Parallel Extender memang lebih cepat, tetapi dapat berupa proposisi enam angka menengah ke tinggi. IRI CoSort sangat ETL-sentris (per perbandingan ELT mereka), dan satu-satunya cara yang terjangkau untuk mengatasi volume transformasi dengan kecepatan sistem file, terlepas dari implementasi Hadoop yang kompleks. Saya juga berpikir melempar perangkat keras pada masalah secara umum (yang juga dilakukan oleh peralatan ELT dan DB dalam memori), juga tidak terlalu ekonomis.

Suraj Singh
sumber