Pengambilan data (data ingestion) mengimpor data ke dalam sistem untuk diproses. Ini adalah langkah pertama dalam alur kerja. Data datang dari basis data, API, file log, antrian pesan, dan sensor. Lapisan pengambilan data mengumpulkannya, memvalidasinya, dan menyerahkannya ke penyimpanan atau pemrosesan. Jika pengambilan data gagal, semua proses selanjutnya akan berhenti.
Metode yang digunakan bergantung pada sumber dan persyaratan latensi. Pengambilan data secara batch menarik data pada interval terjadwal. Metode ini sederhana dan efisien untuk sumber yang pembaruannya lambat. Pengambilan data secara streaming memproses data saat data tersebut tiba, yang diperlukan untuk analitik real-time dan sistem berbasis peristiwa. Alat yang digunakan bervariasi: Kafka untuk aliran data berkecepatan tinggi, Airflow untuk orkestrasi batch, layanan cloud-native untuk pipeline yang dikelola. Tantangannya tetap sama. Sumber data mengubah skemanya tanpa peringatan. Data tiba terlambat atau tidak berurutan. Volume data meningkat secara tidak terduga. Lapisan pengambilan data harus menangani semua itu tanpa kehilangan data atau merusaknya. Mekanisme backpressure mencegah kelebihan beban. Antrian data yang gagal diproses (dead-letter queue) menangkap data yang gagal diproses. Pemantauan mendeteksi masalah sebelum masalah tersebut meluas. Pengambilan data adalah seperti instalasi pipa, tetapi instalasi pipa yang buruk dapat menyebabkan banjir.
Pola konsumsi
- Batch — penarikan terjadwal dalam interval waktu tertentu
- Streaming — pemrosesan berkelanjutan saat data tiba
- Pengambilan data perubahan — menangkap perubahan basis data secara waktu nyata.
- Polling API — permintaan berkala ke layanan eksternal
- Webhooks — notifikasi push dari sistem sumber
Proses pemasukan data adalah pintu masuk utama. Jika data hilang atau rusak di sini, tidak ada perbaikan di tahap selanjutnya yang dapat memulihkannya.
Comments
No comments yet. Be the first to share a thought.
Leave a comment