Data Orchestration

Menengah

Koordinasi, penjadwalan, dan monitoring semua pipeline data secara otomatis: orchestration tool mastiin task A selesai dulu sebelum task B jalan, dan kalau ada yang gagal, langsung kasih alert.

Apa itu Data Orchestration?

Data Orchestration adalah proses mengatur, menjadwalkan, dan memonitor serangkaian task dalam pipeline data secara otomatis. Ibaratnya kayak konduktor orkestra: dia nggak main instrumen sendiri, tapi mastiin semua musisi main di waktu yang tepat, dengan urutan yang bener.

Dalam konteks data pipeline, orchestration tool mastiin tiga hal: task berjalan dalam urutan yang benar (dependency management), ada retry otomatis kalau task gagal, dan semua history eksekusi tercatat dan bisa di-audit.

Tanpa Orchestration: Chaos Scheduling

Banyak tim data yang mulai dengan cron job sederhana: 'jalankan script Python ini setiap jam 2 pagi'. Ini oke untuk satu-dua pipeline. Tapi begitu makin banyak pipeline, masalah muncul:

  • Task B nggak tau apakah Task A udah selesai atau belum
  • Kalau Task A gagal, Task B tetap jalan dengan data yang incomplete
  • Nggak ada visibility: siapa yang tahu pipeline ini gagal semalam?
  • Debugging susah karena log tersebar di mana-mana

Konsep Kunci: DAG (Directed Acyclic Graph)

Hampir semua orchestration tools modern pakai konsep DAG untuk mendefinisikan pipeline. DAG adalah cara visualisasikan dependency antar task:

Konsep DAGArtinya
NodeSatu task/job dalam pipeline
EdgeDependency: task A harus selesai sebelum task B
DirectedAda arah (A ke B, bukan dua arah)
AcyclicNggak ada loop: task nggak bisa bergantung pada dirinya sendiri

Contoh DAG sederhana di pipeline data: Extract data ke warehouse, lalu Run dbt models, lalu Trigger dashboard refresh. Semuanya berjalan berurutan dengan dependency yang jelas.

Orchestration vs Scheduling

Scheduling adalah subset dari orchestration. Cron jobs hanya bisa jadwalkan berdasarkan waktu. Orchestration bisa jadwalkan berdasarkan waktu, event (kalau file baru upload), dependency (kalau task upstream selesai), atau kondisi (kalau data mencapai threshold tertentu).

Perbandingan Tools Orchestration

ToolKarakteristikCocok untuk
Apache AirflowMost popular, Python-based DAGTim yang mau kontrol penuh
PrefectDeveloper-friendly, modern Python APITim yang mau setup cepat
DagsterAsset-centric, data-aware orchestrationTim yang mau observability kuat
dbt CloudKhusus untuk dbt jobsTim yang pipeline-nya mostly dbt

Fitur Penting Orchestration Tool

  • Retry otomatis: kalau task gagal, coba lagi dengan interval yang bisa dikonfigurasi
  • Alerting: notifikasi lewat Slack/email kalau ada pipeline yang gagal
  • Backfill: bisa run ulang pipeline untuk periode waktu di masa lalu
  • Monitoring dashboard: lihat status semua pipeline dalam satu tampilan
Lanjut Latihan

Udah paham Data Orchestration? Lanjut latihan SQL dan Excel yuk!

Latihan interaktif, langsung di browser.

Mulai Latihan →