ELT, yang merupakan singkatan dari “Extract, Load, Transform” (Ekstrak, Muat, Transformasi) adalah jenis lain dari proses integrasi data, mirip dengan ETL, “Extract, Transform, Load” (Ekstrak, Transformasi, Muat). Proses ini memindahkan data mentah dari sistem sumber ke sumber daya tujuan, seperti gudang data.
Meskipun serupa dengan ETL, ELT merupakan pendekatan yang berbeda secara mendasar terhadap pra-pemrosesan data yang baru-baru ini diadopsi seiring transisi ke lingkungan cloud.
ELT terdiri dari tiga tahap utama; Ekstrak, Muat, dan Transformasi. Masing-masing tahap ini diperinci di bawah.
Selama ekstraksi data, data mentah disalin atau diekspor dari lokasi sumber ke area staging. Kumpulan data dapat terdiri dari berbagai jenis data dan berasal dari hampir semua sumber terstruktur maupun tidak terstruktur, termasuk tetapi tidak terbatas pada:
Meskipun demikian, ini lebih sering digunakan dengan data yang tidak terstruktur.
Pada langkah ini, data yang telah ditransformasi dipindahkan dari area staging ke area penyimpanan data, seperti gudang data atau data lake.
Bagi sebagian besar organisasi, proses pemuatan data dilakukan secara otomatis, terdefinisi dengan baik, berkelanjutan, dan didorong oleh batch. Biasanya, ELT berlangsung selama jam kerja ketika lalu lintas pada sistem sumber dan gudang data mencapai puncaknya dan konsumen menunggu untuk menggunakan data untuk analisis atau sebaliknya.
Pada tahap ini, pendekatan schema-on-write digunakan, yang menerapkan skema untuk data menggunakan SQL, atau mentransformasi data, sebelum analisis. Tahap ini dapat melibatkan hal-hal berikut:
Mungkin saja Anda akan bingung dengan proses ELT dengan saudaranya yang dikenal dengan akronim yang hampir sama. Namun, ada beberapa perbedaan mencolok antara ELT dan ETL, yang merupakan singkatan dari “extract, transform, dan load”. Ini adalah proses integrasi data yang menggabungkan data dari beberapa sumber data ke dalam satu penyimpanan data yang konsisten yang dimuat ke dalam gudang data atau sistem target lainnya. Alat ETL tradisional dirancang untuk membuat pergudangan data guna mendukung aplikasi Business Intelligence (BI) dan Artificial Intelligence (AI).
Perbedaan yang jelas adalah proses ELT melakukan fungsi Load (Muat) sebelum fungsi Transform (Transformasi), kebalikan dari langkah kedua dan ketiga dari proses ETL. ELT menyalin atau mengekspor data dari lokasi sumber, tetapi alih-alih memindahkannya ke area staging untuk pengubahan, ELT memuat data mentah langsung ke penyimpanan data target untuk ditransformasi sesuai kebutuhan. ELT tidak mentransformasi data apa pun saat transit.
Namun, urutan langkah bukanlah satu-satunya perbedaan. Di ELT, penyimpanan data target dapat berupa gudang data, tetapi lebih sering berupa data lake, yang merupakan penyimpanan pusat besar yang dirancang untuk menyimpan data terstruktur dan tidak terstruktur dalam skala besar.
Data lake dikelola menggunakan platform big data (seperti Apache Hadoop) atau sistem manajemen data NoSQL terdistribusi. Itu dapat mendukung intelejen bisnis, tetapi lebih seringnya, dibuat untuk mendukung kecerdasan buatan, machine learning, analisis prediktif, dan aplikasi yang digerakkan oleh data real time dan event streams.
Ada perbedaan lain antara ETL dan ELT juga. Sebagai contoh, karena ETL mentransformasi data sebelum memindahkannya ke repositori pusat, ETL dapat membuat kepatuhan privasi data menjadi lebih sederhana, atau lebih sistematis, daripada ELT (misalnya, jika analis tidak mentransformasi data sensitif sebelum perlu menggunakannya, data tersebut dapat tetap tersedia secara terbuka di dalam data lake). Namun, para ilmuwan data mungkin lebih memilih ELT, yang memungkinkan mereka bermain di “sandbox” data mentah dan melakukan transformasi data mereka sendiri yang disesuaikan dengan aplikasi tertentu. Namun, dalam banyak kasus, pilihan antara ETL dan ELT akan bergantung pada pilihan antara sumber daya dan kebutuhan bisnis yang tersedia.
ELT memberikan beberapa keuntungan bagi pengguna yang mengintegrasikan proses ke dalam alur kerja mereka. Mari kita lihat beberapa manfaat penting:
Ketika data streaming dalam jumlah besar dihasilkan, ELT memungkinkan data tersebut dimuat dengan segera, dan mengtransformasi data setelah mencapai tujuannya. Hal ini mencegah perlambatan yang sering terjadi jika transformasi terjadi sebelum fungsi Muat, seperti dalam ETL. Seringkali, keputusan perlu dibuat sehubungan dengan data ini, dan penundaan tidak dapat diterima. Contohnya adalah pasar saham, yang menghasilkan sejumlah besar data yang dikonsumsi secara real-time. Dalam skenario seperti ini, ELT merupakan solusi pilihan karena transformasi terjadi setelah data mencapai tujuannya.
Karena data ditransformasi ketika tiba di tempat tujuan, ELT memungkinkan penerima data untuk mengontrol manipulasi data. Dengan ELT, pemisahan tahap transformasi dan pemuatan memastikan bahwa kesalahan pengkodean atau kesalahan lain dalam tahap transformasi tidak memengaruhi tahap lainnya.
ELT memanfaatkan kekuatan dan ukuran gudang data untuk memungkinkan transformasi, atau komputasi yang dapat diskalakan, dalam skala besar. Gudang data tujuan dapat menambah atau mengurangi node sesuai kebutuhan, terutama dalam skenario cloud di mana terdapat beberapa node dalam setiap kluster, dan beberapa kluster dapat digunakan. Hal ini memungkinkan fleksibilitas dan skalabilitas sesuai permintaan.
ELT membutuhkan server yang kurang kuat untuk transformasi data dan memanfaatkan sumber daya yang sudah ada di gudang. Hal ini menghasilkan penghematan biaya dan efisiensi sumber daya.
ELT memungkinkan penggunaan repositori tujuan pilihan, untuk fleksibilitas biaya dan sumber daya. Gudang data menggunakan arsitektur MPP (Massively Parallel Processing), termasuk penyimpanan volume data berbasis memori columnar. Proses data lake yang menerapkan skema, atau model transformasi, segera setelah data diterima (disebut juga “schema-on-read”) juga didukung. Proses yang efisien ini memberikan fleksibilitas untuk sejumlah besar data.
Operasi berkelanjutan sangat ideal untuk lingkungan apa pun yang membutuhkan akses cepat ke data. ELT sangat cocok untuk data yang digunakan dalam lingkungan cloud yang sering kali menyertakan aplikasi yang diakses berdasarkan permintaan secara berkelanjutan. Demikian juga, transformasi ELT cloud-native memberikan skalabilitas dan fleksibilitas yang disebutkan di atas.
Sebuah organisasi dapat memilih untuk bertransisi dari arsitektur ETL ke ELT. Alasan transisi dapat berupa perubahan dalam penggunaan produk atau layanannya sehingga diperlukan respons dan interaksi real time, atau jumlah data telah berkembang secara eksponensial dan transformasi menunda tahap Muat karena tuntutan pemrosesan volume tinggi pada infrastruktur. Sebuah organisasi juga dapat memilih untuk bertransisi dari ETL ke ELT jika organisasi tersebut telah berpindah ke cloud dan ingin memindahkan pemrosesan atau menggunakan data di lokasi tujuan lebih cepat.
Dalam skenario transisi, itu realistis untuk mengharapkan adanya tantangan. Pertama dan terpenting, logika dan kode yang benar-benar berbeda digunakan dalam ELT vs ETL. Hal ini dapat memerlukan konfigurasi ulang yang menyeluruh dan mungkin infrastruktur baru atau penyedia baru dengan infrastruktur di cloud. Selain itu, dengan ELT, data mentah dikirim ke gudang tujuan. Oleh karena itu, keamanan merupakan pertimbangan dan harus diterapkan untuk menjaga data tetap aman.
ELT bukanlah teknologi baru. Tabel staging sebelumnya digunakan untuk memindahkan data ke dalam gudang untuk pemrosesan dan transformasi], sering kali menggunakan skrip SQL. Skrip SQL di-hardcode, dan oleh karena itu berisiko terhadap kemungkinan kesalahan pengodean. Dengan penggunaan SQL, pelanggan harus memilih antara eksekusi gudang native menggunakan skrip SQL dan pemrograman deklaratif, alias penulisan deklaratif. Penulisan deklaratif memberikan manfaat dari lingkungan gudang data berbasis cloud yang lebih modern melalui pembuatan kode yang menjelaskan apa yang harus dicapai oleh program daripada bagaimana program akan mencapainya. Proses ini mencegah kesalahan pengodean yang melekat pada proses lain, terutama ketika transformasi terjadi sebelum fungsi Muat.
ELT biasanya digunakan dalam lingkungan penggunaan data volume tinggi atau real-time. Contoh spesifiknya adalah:
IBM Cloud Pak for Data adalah platform data terbuka dan dapat diperluas yang menyediakan struktur data untuk membuat semua data tersedia untuk AI dan analitik, di cloud mana pun.
AI membuka nilai data dengan cara baru. Atur data Anda agar siap untuk dunia AI dan multicloud dengan solusi DataOps.
Integrasi data memungkinkan Anda untuk mengubah data terstruktur dan tidak terstruktur dan mengirimkannya ke sistem apa pun pada platform big data yang dapat diskalakan.