Real-time Database dan Event Streaming
Data yang sync secara otomatis antar client
Tujuan Pembelajaran
- Memahami real-time database
- Bisa setup event streaming
Analogi
Real-time DB = Papan Tulis Bersama
Semua orang lihat perubahan
Event Streaming = Sungai Data
Mengalir terus, bisa dipantau
Real-time database memungkinkan kolaborasi tanpa refresh
Penjelasan Konsep
Real-time Database
Real-time Database memungkinkan data otomatis sync antara server dan semua client yang terhubus. Kalau satu client mengubah data, semua client lain melihat perubahan seketika.
Firebase Realtime Database
JSON tree yang sync otomatis. Setiap perubahan di-push ke semua subscriber. Cocok untuk chat, live dashboard, collaborative app.
Supabase Realtime
PostgreSQL dengan realtime subscription. Listen perubahan di table tertentu. Lebih powerful karena SQL query.
Event Streaming
Untuk skala besar, pakai event streaming. Data di-produce ke stream, consumer listen dan process.
Apache Kafka
Distributed event streaming platform. High throughput, persistent, scalable. Topics dan partitions untuk parallel processing.
Use cases event streaming
- Activity feed. User action di-produce ke stream.
- Analytics. Event stream untuk real-time analytics.
- Microservices communication. Decouple services via events.
Inti yang Perlu Dipahami
Bagian ini berfokus pada memahami real-time database., dan bisa setup event streaming. Jangan terburu-buru menghafal istilahnya. Lebih penting untuk memahami peran setiap konsep dan kapan konsep itu muncul dalam pekerjaan web development.
Saat membaca Real-time Database dan Event Streaming, gunakan tujuan belajar sebagai penanda arah. Kalau kamu sudah bisa menjelaskan tujuan itu dengan kata-katamu sendiri, berarti fondasinya mulai terbentuk.
Cara Membayangkannya
Real-time database memungkinkan kolaborasi tanpa refresh. Analogi ini dipakai supaya konsep teknis tidak terasa melayang. Hubungkan setiap istilah dengan perannya: siapa yang meminta, siapa yang memproses, data apa yang berpindah, dan hasil apa yang diharapkan.
Kalau analoginya sudah terasa masuk akal, barulah lihat istilah teknisnya. Cara ini membuat materi lebih mudah dipahami daripada langsung menghafal definisi.
Saat Melihat Contoh Kode
Contoh kode pada chapter ini memakai bahasa typescript. Bacalah contoh kode sebagai ilustrasi alur, bukan sebagai bagian yang harus langsung dihafal. Supabase realtime listen perubahan PostgreSQL. Kafka producer kirim event ke topic. Consumer process secara async.
Perhatikan nama fungsi, urutan langkah, dan data yang berpindah. Biasanya tiga hal itu sudah cukup untuk memahami hubungan antara teori dan praktik.
Konteks dalam Perjalanan Belajar
Setiap konsep di platform ini dipilih karena dipakai di industri. Fokus pada pemahaman, bukan hafalan.
Kamu sudah di bagian lanjutan. Mulai pikirkan bagaimana konsep ini dipakai di dunia kerja — bukan hanya untuk belajar, tapi untuk membangun produk nyata.
Gunakan pertanyaan reflektif dan prompt AI di akhir chapter sebagai latihan aktif. Membaca saja tidak cukup — kamu perlu menjelaskan ulang dengan kata-katamu sendiri.
Contoh Kode
// SUPABASE REALTIME
import { createClient } from '@supabase/supabase-js';
const supabase = createClient(url, key);
const channel = supabase
.channel('table-changes')
.on('postgres_changes',
{ event: '*', schema: 'public', table: 'messages' },
(payload) => console.log('Change:', payload)
)
.subscribe();
// KAFKA PRODUCER
await producer.send({
topic: 'user-events',
messages: [{
key: userId,
value: JSON.stringify({ type: 'login', userId })
}]
});Penjelasan Kode
Prompt AI
Setup Supabase realtime subscription untuk satu table.
Pertanyaan Reflektif
Bedanya real-time database dan event streaming?