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.
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.
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:
Hampir semua orchestration tools modern pakai konsep DAG untuk mendefinisikan pipeline. DAG adalah cara visualisasikan dependency antar task:
| Konsep DAG | Artinya |
|---|---|
| Node | Satu task/job dalam pipeline |
| Edge | Dependency: task A harus selesai sebelum task B |
| Directed | Ada arah (A ke B, bukan dua arah) |
| Acyclic | Nggak 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.
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).
| Tool | Karakteristik | Cocok untuk |
|---|---|---|
| Apache Airflow | Most popular, Python-based DAG | Tim yang mau kontrol penuh |
| Prefect | Developer-friendly, modern Python API | Tim yang mau setup cepat |
| Dagster | Asset-centric, data-aware orchestration | Tim yang mau observability kuat |
| dbt Cloud | Khusus untuk dbt jobs | Tim yang pipeline-nya mostly dbt |
Udah paham Data Orchestration? Lanjut latihan SQL dan Excel yuk!
Latihan interaktif, langsung di browser.