
SMILE Indonesia Data Warehouse (OLAP ver 1)
Use Case: Data Ingestion, Data Processing, Data Visualization
Overview
Proyek ini bertujuan untuk membangun sistem data warehouse yang mendukung dashboard pemantauan distribusi vaksin dan obat di Indonesia, mencakup berbagai tingkatan administratif (nasional, provinsi, kota, kecamatan). Selain itu, sistem ini juga mencakup dashboard pemantauan suhu penyimpanan vaksin untuk memastikan kualitas vaksin tetap terjaga selama penyimpanan.
Problem
Sumber data yang beragam dan terpisah
- Database transaksi sistem utama yang mencatat distribusi vaksin dan obat.
- API pihak ketiga yang menyediakan informasi eksternal terkait logistik dan distribusi.
- Database logger IoT yang menyimpan data suhu dari setiap kulkas penyimpanan vaksin.
Volume data yang sangat besar
- Jumlah transaksi sudah melebihi 3 juta, dan diprediksi akan mencapai 100 juta di tahun 2025.
- Data logger suhu penyimpanan vaksin telah mencapai 5 juta baris dan diprediksi mencapai 200 juta data di tahun 2025.
Performa query lambat dalam proses agregasi data
- Query agregasi seperti SUM() dan AVERAGE() membutuhkan waktu lebih dari 3 menit, menyebabkan dashboard gagal memuat data secara real-time.
Kebutuhan dashboard yang fleksibel
- Klien membutuhkan kemampuan membuat adhoc dashboard untuk analisis cepat di lapangan tanpa menunggu tim IT melakukan pengembangan tambahan.
Solution
Data Ingestion
- Membangun data warehouse yang terpisah dari database utama untuk mengurangi beban transaksi operasional.
- Menyatukan berbagai sumber data (transaksi, API pihak ketiga, dan logger IoT) ke dalam satu sistem terpusat.
-
Menggunakan Pentaho sebagai ETL tool untuk proses ekstraksi, transformasi, dan loading data dengan frekuensi update:
- Setiap 7 menit sekali untuk data yang membutuhkan refresh lebih cepat.
Data Processing & Optimasi Performa
- Membentuk Data Mart untuk mengorganisir data sesuai kebutuhan dashboard.
- Menggunakan ClickHouse (database OLAP berbasis kolom) untuk mempercepat proses agregasi dibandingkan MySQL.
- Optimasi skema tabel dengan indexing agar pencarian data lebih efisien.
- Menggunakan pre-aggregated tables / colomnn untuk menyimpan hasil perhitungan sum, average, dan metrik lainnya sehingga dashboard dapat memuat data dengan lebih cepat.
Data Visualization & Adhoc Dashboard - Pendekatan visualisasi data
-
Dashboard In-App (FE & BE):
- Untuk laporan utama dengan format yang sudah ditentukan, data ditampilkan di dashboard aplikasi.
- Backend aplikasi akan mengambil data langsung dari datamart di ClickHouse.
-
Self-Service Dashboard (Metabase):
- Untuk kebutuhan analisis adhoc, klien dapat mengakses Metabase yang terhubung langsung ke ClickHouse.
- Memungkinkan tim operasional membuat dashboard sendiri tanpa perlu pengembangan tambahan dari tim IT.

Technology

ETL Process

Database Operasional

Data Visualization

Data Warehouse (OLAP)

Deployment (Kubernetes Platform)
Impact
Semua data source berhasil diambil dan di-update dengan baik dalam periode setiap 7 menit
Dashboard dapat kembali diakses dengan response time yang acceptable bagi user walaupun jumlah transaksi sudah mencapai puluhan juta baris.
Kebutuhan-kebutuhan visualisasi data secara cepat dari Kemenkes dapat di-manage dengan baik, selama datanya sudah ter-record dan bisa di-query.