Episode ini membahas real-time BI dan streaming: perbedaan batch vs real-time, pola KPI live dan event streaming, teknologi pendukung seperti Kafka dan CDC, kapan real-time layak dipakai, serta praktik membangun live dashboard untuk Superstore

Semua dashboard yang kalian bangun sejauh ini adalah batch: data di-refresh harian atau per jam. Episode ini membuka mode baru: real-time BI — dashboard yang memperbarui diri dalam hitungan detik saat data baru masuk. Di era 2026 dengan operasi yang bergerak cepat, ini semakin menjadi ekspektasi.
Namun real-time bukanlah "lebih baik secara otomatis". Episode ini akan membahas kapan real-time benar-benar layak, bagaimana arsitekturnya bekerja, dan berapa biaya yang harus dibayar. Sebagai BI Analyst, kalian harus bisa menjelaskan trade-off ini kepada stakeholder — bukan sekadar ikut tren.
Pertanyaan pertama yang harus dijawab: apakah keputusan butuh data terbaru dalam hitungan detik?
| Aspek | Batch (default) | Real-Time |
|---|---|---|
| Latensi | Menit-jam-hari | Detik-menit |
| Biaya | Murah, sederhana | Lebih mahal & kompleks |
| Cocok untuk | Report harian, tren, KPI strategis | Operasi yang butuh respons seketika |
| Contoh | Laporan penjualan kemarin | Monitoring antrian, fraud detection, stok gudang |
Aturan emasnya: pakai batch untuk keputusan strategis, real-time untuk keputusan operasional. Revenue bulanan tidak perlu real-time; tetapi dashboard stok gudang di puncak promo sangat layak. Menghitung kapan real-time layak: kalau keputusan berubah dalam hitungan menit, real-time masuk akal; kalau tidak, batch cukup.
Real-time BI mengikuti alur yang mirip batch, tetapi dengan perbedaan kunci di lapisan ingest:
Lapisan-lapisannya:
Sebagai BI Analyst, kalian tidak perlu membangun Kafka sendiri — tetapi wajib memahami alurnya agar bisa berkolaborasi dengan Data Engineer dan mendesain KPI yang tepat.
CDC (Change Data Capture) adalah teknik penting di real-time BI: menangkap perubahan di database operasional (insert/update/delete) dan mengalirkannya ke downstream secara real-time. Alih-alih menyalin seluruh tabel tiap malam, CDC hanya mengirim perubahannya.
Contoh tool CDC: Debezium (membaca binlog/transaction log) dan Debezium Server untuk sinkronisasi ringan. Alur khasnya:
PostgreSQL (produksi)
→ Debezium membaca walog/binlog
→ Kafka (topic per tabel)
→ stream processing / sink
→ real-time store → dashboard liveBagi kalian, CDC berarti: data yang tadinya "baru besok pagi" kini bisa "baru sekarang" — selama biaya infra dan kompleksitasnya memang terbayar.
Note
Kabar baiknya: untuk praktik, kalian tidak perlu setup Kafka + Flink + ClickHouse. Tool BI modern punya mode streaming sederhana — misalnya Power BI dengan streaming dataset yang menerima push via REST API, atau Tableau yang bisa di-refresh otomatis per menit. Mulai dari yang sederhana, tingkatkan arsitektur hanya saat kebutuhan benar-benar ada.
Real-time hanya berguna jika KPI-nya dirancang untuk itu. Contoh KPI yang layak live:
| Domain | KPI Live | Keputusan yang Didukung |
|---|---|---|
| Retail | Order per menit, stok menipis | Atur ulang staf / kirim ulang barang |
| E-commerce | Checkout rate real-time, error payment | Intervensi teknis seketika |
| Call center | Antrian aktif, wait time | Distribusi agen |
| Fintech | Volume transaksi, fraud score | Blokir/approve transaksi |
Perhatikan pola: semua KPI di atas memancing aksi seketika. KPI strategis seperti "margin kuartal" tidak masuk daftar ini — dan tidak seharusnya masuk.
Untuk memahami prinsipnya tanpa infrastruktur berat, simulasi alur dengan query mikro-batch yang di-refresh cepat. Buat dashboard "Live Operations" dari tabel orders:
SELECT
DATE_TRUNC('hour', order_date) AS hour,
COUNT(DISTINCT order_id) AS orders,
SUM(sales) AS revenue
FROM fact_orders
WHERE order_date >= CURRENT_DATE
GROUP BY 1
ORDER BY 1 DESC;Di tool kalian:
Auto refresh pada worksheet.refresh_interval di file model:explore: fact_orders {
...
}
datagroup: orders_default {
sql_trigger: SELECT MAX(order_date) FROM fact_orders ;;
max_cache_age: "5 minutes"
}max_cache_age menentukan berapa lama Looker boleh menyajikan data lama sebelum query ulang — cara Looker mendukung dashboard semi-real-time.
Batas kewajaran untuk praktik: menit-an. Selama praktik, jangan berpura-pura menjadi sistem menit-detik yang butuh Kafka; pahami dulu pola dan trade-off-nya. Kalau nanti perusahaan benar-benar butuh detik-an, kalian sudah punya peta arsitekturnya untuk kolaborasi dengan Data Engineer.
Inti yang harus dibawa pulang:
Di episode 17 selanjutnya kita akan membahas enterprise BI & stakeholder management — bagaimana scaling BI di perusahaan besar, mengelola stakeholder, dan governance report. Dari operasi harian, kita naik ke level organisasi. Pastikan tetap semangat!