Apa itu Singer
Singer adalah alat ETL sumber terbuka yang dirancang dengan kesederhanaan dan kecanggihan sebagai prinsipnya. Ini merupakan produk dari Stitch Data, sebuah perusahaan yang dikenal karena solusi integrasi data mereka. Alat ini mengadopsi pendekatan modular yang unik dalam ekstraksi dan pemuatan data, dengan menyediakan komponen-komponen terpisah yang dikenal sebagai Taps dan Targets. Taps digunakan untuk mengambil data dari sumber, sedangkan Targets menerima dan memuat data ke tujuan yang diinginkan.
Komponen-komponen Singer ETL
Singer menggunakan desain yang sangat modular dan efisien dalam pendekatannya terhadap ETL, terutama dibagi menjadi dua komponen: Taps dan Targets.
Taps dalam Singer
Taps dalam Singer berfungsi sebagai pengambil data. Mereka bertanggung jawab untuk terhubung ke sumber data, mengekstrak data yang diperlukan, dan memformatnya ke dalam format standar yang kompatibel dengan skema Singer. Taps dapat terhubung ke berbagai sumber, seperti database, API web, atau bahkan file pada sistem file lokal.
Setiap Tap dirancang untuk sumber data tertentu dan tahu bagaimana berinteraksi dengannya. Misalnya, ada Taps yang berbeda untuk terhubung ke database PostgreSQL, database MySQL, atau API Salesforce. Komunitas Singer telah mengembangkan ekosistem Tap yang kaya, mencakup berbagai jenis sumber data.
Keluaran utama dari sebuah Tap adalah aliran catatan data, tetapi juga mencakup pesan skema yang menjelaskan struktur data, dan pesan status yang membantu melacak kemajuan proses ekstraksi.
Targets dalam Singer
Sementara Taps mengambil data, Targets bertanggung jawab untuk memuat data yang diekstraksi ke tujuan yang dipilih. Targets dapat berupa jenis sistem penyimpanan data atau pemrosesan data apa pun. Tujuan tersebut bisa berupa data warehouse seperti Google BigQuery, Amazon Redshift, atau file CSV sederhana.
Seperti Taps, Targets juga dirancang untuk tujuan tertentu, masing-masing memahami cara terhubung dan memuat data ke platform yang terkait. Mereka menerima keluaran dari Tap (terdiri dari catatan, pesan skema, dan pesan status), kemudian memuat catatan data ke tujuan dan menggunakan pesan skema untuk memastikan data sesuai dengan struktur tujuan.
Kelebihan Singer
-
Spesifikasi inti Singer yang sangat baik
Spesifikasi Singer sangat terdokumentasi dengan baik, terjaga dengan baik, dan sangat terperinci. Ada banyak Taps yang tersedia yang mengikuti spesifikasi ini. Penggunaan JSON untuk mentransfer data antara Taps dan Targets memungkinkan menghindari format output yang tidak kompatibel dan memungkinkan penggunaan Taps yang berbeda secara bergantian. -
Kelimpahan Taps Singer
Ada sekitar 200 Taps yang dikembangkan berdasarkan spesifikasi Singer. Sebagian besar Taps ini dikembangkan dan disubmit oleh para pengembang yang membutuhkan sumber data tertentu dan telah melalui proses peninjauan oleh Singer.
Kekurangan Singer
-
Tantangan dalam standardisasi tap
Karena sifat unik dari proyek pengembangan tap, seringkali ada ketidaksesuaian fitur yang didukung dan kasus penggunaan antara Taps. Mungkin perlu mengelola fork kustom dalam kasus seperti ini. -
Kurangnya pemeliharaan
Setelah Stitch diakuisisi oleh Talend, proyek Singer dibiarkan tanpa pemeliharaan, yang dapat mengakibatkan perubahan API atau penggunaan Taps yang sudah usang. Selain itu, dependensi Taps dapat saling bertentangan, dan kurangnya konsistensi versi membutuhkan pengaturan lingkungan mandiri untuk menghindari konflik saat menjalankan beberapa Taps secara bersamaan.
Referensi