Traffine I/O

Bahasa Indonesia

2022-11-09

Singer

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

https://www.singer.io/
https://towardsdatascience.com/should-you-build-on-singer-taps-16bb1e45ef09
https://blog.panoply.io/etl-with-singer-a-tutorial
https://github.com/singer-io/getting-started

Ryusei Kakujo

researchgatelinkedingithub

Focusing on data science for mobility

Bench Press 100kg!