Lewati ke isi
anakdata.id
≡

Kelompok 3 dari 10

Pipeline dan infrastruktur

“Datanya dipindahkan bagaimana”

Pipeline memindahkan data dari aplikasi kasir ke data warehouse setiap malam tanpa ada yang menekan tombol. Kelompok ini berisi kosakata Data Engineer untuk memindahkan data sesuai jadwal dan menjaga prosesnya tetap jalan.

Posisinya di perjalanan data
  1. Sumber data
  2. Ingestion(kelompok ini)
  3. Storage(kelompok ini)
  4. Transformasi(kelompok ini)
  5. Analisis
  6. BI dan dashboard
  7. ML
  8. AI generatif
  9. Keputusan

Ingestion, Storage dan Transformasi: lapisan 2 sampai 4 dari 8. Lihat petanya

Memindahkan data9 istilah

↑ Daftar isi

Pipeline

Rangkaian langkah pemindahan data yang berjalan otomatis dan berulang tanpa ditekan orang.

Sering tertukar

ETL

Nama langkahnya: ambil, ubah, simpan.

berbeda dengan

Pipeline

Seluruh jalur yang berjalan sendiri, biasanya berisi beberapa proses ETL.

ETL menyebut langkah-langkahnya, pipeline menyebut keseluruhan jalur yang berjalan sendiri. Satu pipeline biasanya berisi beberapa proses ETL.

Diagramnya: ETL dan ELT, Orkestrasi

Dipakai:
  • Data Engineer
  • Analytics Engineer
  • ML Engineer

Ingestion

Tahap memasukkan data dari sumber ke storage untuk analisis, entah sekali, terjadwal, atau terus-menerus.

Menarik data pesanan dari PostgreSQL ke ClickHouse setiap pagi.

Dipakai:
  • Data Engineer

ETL

Urutan kerja memindahkan data: ambil dari sumbernya, ubah bentuknya, simpan ke tempat baru.

Diagramnya: ETL dan ELT

Dipakai:
  • Data Engineer

ELT

Extract, load, transform: raw data disimpan dulu di warehouse, baru dirapikan di sana. Banyak tim memilihnya karena lebih murah dan rapi.

Semua tabel mentah masuk BigQuery dulu, lalu dirapikan dengan SQL di dbt.

Sering tertukar

ETL

Data diubah bentuknya dulu, baru disimpan.

berbeda dengan

ELT

Raw data disimpan dulu di warehouse, baru dirapikan di sana.

Dipakai:
  • Data Engineer
  • Analytics Engineer

On the fly

Diolah sambil jalan, sebelum data sampai di tujuan. Pada ETL klasik, transformasi terjadi di memori mesin sehingga boros.

Data dibersihkan di memori mesin ETL saat dipindahkan, belum disimpan di mana pun.

Dipakai:
  • Data Engineer

Tool ETL berbasis GUI

Software ETL yang dipakai dengan klik dan seret kotak di layar, biasanya butuh memori besar.

Informatica, SSIS, Talend, dan Pentaho termasuk jenis ini.

Dipakai:
  • Data Engineer

Airbyte

Ingestion tool open source: alat khusus untuk memindahkan data dari sumber ke warehouse tanpa banyak menulis kode.

Memindahkan tabel dari PostgreSQL ke data warehouse tanpa skrip Python.

Dipakai:
  • Data Engineer

Big data processing

Mengolah data yang terlalu besar untuk satu komputer dengan membagi pekerjaannya ke banyak mesin.

Merangkum catatan klik aplikasi bertahun-tahun di banyak server sekaligus.

Dipakai:
  • Data Engineer
  • Data Scientist

Spark dan PySpark

Spark membagi pengolahan data besar ke banyak komputer. Kalau dipakai lewat Python, namanya PySpark.

Menulis groupby di PySpark untuk data yang tidak muat di laptop.

Dipakai:
  • Data Engineer
  • Data Scientist
  • ML Engineer

Jadwal dan orkestrasi6 istilah

↑ Daftar isi

Scheduling

Mengatur proses supaya jalan otomatis pada waktu tertentu, tanpa dijalankan manual.

Pipeline penjualan dijadwalkan jalan setiap dini hari.

Dipakai:
  • Data Engineer
  • Analytics Engineer
  • ML Engineer

Batch dan real-time

Dua jadwal pemrosesan: batch mengolah sekaligus pada waktu tertentu, real-time mengolah begitu datanya masuk.

Laporan penjualan harian jalan sekali tiap tengah malam. Itu batch, dan untuk sebagian besar kebutuhan itu sudah cukup.

Sering tertukar

Batch

Mengolah sekaligus pada waktu tertentu, misalnya tiap tengah malam.

berbeda dengan

Real-time

Mengolah data begitu data itu masuk, hampir tanpa jeda.

Diagramnya: Batch dan streaming

Dipakai:
  • Data Engineer

Streaming

Data dipindahkan dan diolah terus-menerus begitu kejadiannya terjadi, hampir tanpa jeda.

Posisi kurir di aplikasi ojek terus bergerak di peta.

Dipakai:
  • Data Engineer
  • ML Engineer

Data pipeline orchestration

Pengatur jadwal dan urutan untuk banyak pipeline sekaligus, termasuk apa yang harus dilakukan saat satu langkah gagal.

Airflow adalah alat yang paling sering dipakai untuk ini.

Diagramnya: Orkestrasi

Dipakai:
  • Data Engineer
  • Analytics Engineer
  • ML Engineer

Airflow

Tool orchestration open source yang sering disebut di lowongan DE; langkah pipeline-nya ditulis dengan Python.

Airflow menjalankan pipeline penjualan setiap pagi; versi siap pakainya ada di Google Cloud Composer.

Dipakai:
  • Data Engineer

Prefect

Tool orchestration berbasis Python yang lebih ringan dari Airflow, cocok untuk tim kecil.

Tim kecil memakai Prefect karena Airflow terasa terlalu berat.

Dipakai:
  • Data Engineer

Kode dan rilis6 istilah

↑ Daftar isi

CLI dan Linux

CLI: mengoperasikan komputer dengan mengetik perintah teks. Linux: sistem operasi gratis yang banyak dipakai di server.

Perintah ls, cd, dan cat untuk menjelajah folder di server.

Dipakai:
  • Data Engineer
  • ML Engineer
  • AI Engineer

Git

Alat pencatat riwayat perubahan kode, supaya versi lama bisa dilihat dan kerja tim tidak saling menimpa.

Setiap perubahan query dicatat dengan pesan singkat dan bisa dikembalikan kalau salah.

Dipakai:
  • Data Engineer
  • Analytics Engineer
  • Data Scientist
  • ML Engineer

Repo

Singkatan repository: satu folder proyek yang dicatat Git, lengkap dengan riwayat perubahannya.

Satu repo berisi kode pipeline, model dbt, dan README.

Dipakai:
  • Semua peran

README

File pengantar yang tampil pertama kali saat orang membuka repo. Di situ dijelaskan proyek ini tentang apa dan bagaimana membacanya.

Dibuka dengan tiga kalimat (kesimpulan, bukti, saran), lalu pertanyaan, data dan sumbernya, temuan, dan cara mengulang analisisnya.

Dipakai:
  • Semua peran

Docker

Alat untuk membungkus aplikasi beserta semua kebutuhannya, supaya jalan sama persis di komputer mana pun.

Menyalakan ClickHouse dan Airflow di laptop tanpa instalasi rumit.

Dipakai:
  • Data Engineer
  • ML Engineer
  • AI Engineer

Development, testing, deployment

Tiga tahap membangun sistem: menulis kode, mengujinya, lalu memasangnya supaya dipakai sungguhan.

Pipeline baru ditulis, diuji dengan data kemarin, lalu di-deploy ke server production.

Dipakai:
  • Data Engineer
  • ML Engineer
  • AI Engineer

Menjaga pipeline tetap jalan8 istilah

↑ Daftar isi

Logging

Mencatat apa yang terjadi saat program berjalan, supaya saat error ketahuan langkah mana yang bermasalah.

Log mencatat jam mulai, jumlah baris yang dipindah, dan pesan error.

Dipakai:
  • Data Engineer
  • ML Engineer
  • AI Engineer

Monitoring

Memantau sistem terus-menerus: apakah pipeline jalan, tepat waktu, dan datanya lengkap.

Memeriksa setiap pagi apakah semua tabel sudah terisi data kemarin.

Dipakai:
  • Data Engineer
  • ML Engineer
  • AI Engineer

Alert

Pesan otomatis yang dikirim saat ada yang salah, supaya tim segera tahu.

Pesan masuk ke grup chat tim saat pipeline penjualan gagal jalan.

Dipakai:
  • Data Engineer
  • ML Engineer

Bug

Kesalahan di kode yang membuat program berjalan tidak sesuai harapan.

Pipeline gagal karena ada nama produk berisi tanda kutip yang tak terduga.

Dipakai:
  • Data Engineer
  • Data Analyst
  • ML Engineer

Debugging

Mencari dan memperbaiki penyebab error atau bug.

Membaca log untuk menemukan baris data mana yang membuat pipeline berhenti.

Dipakai:
  • Data Engineer
  • Data Analyst
  • ML Engineer

Pipeline breaking

Pipeline berhenti atau rusak di tengah jalan, sering karena ada data yang bentuknya tak terduga.

Kolom tanggal tiba-tiba berisi teks, pipeline berhenti, dashboard tidak terisi.

Dipakai:
  • Data Engineer

Biaya cloud

Tagihan pemakaian layanan cloud, yang bisa membengkak karena query boros atau server kebesaran.

Query yang membaca seluruh tabel setiap jam membuat tagihan BigQuery naik.

Dipakai:
  • Data Engineer
  • Analytics Engineer

Overkill

Memakai solusi yang terlalu besar untuk masalah yang kecil, sehingga mahal dan rumit tanpa perlu.

Memasang Airflow dan cluster Spark untuk mengolah satu file Excel kecil.

Dipakai:
  • Semua peran