ClickHouse — mesin analitik real-time dalam stack platform
Stack 4buildsite mencakup ClickHouse — database kolumnar yang dibuat khusus untuk analitik bervolume tinggi. Inilah fondasi yang kami gunakan untuk membangun modul statistik trafik dan penjualan platform (dalam pengembangan): data tetap milik Anda, dan situs Anda tidak terbebani analitik — begitulah arsitekturnya dirancang.
Apa itu ClickHouse dan mengapa kami menggunakannya
ClickHouse adalah database OLAP (analitik online) berbasis kolom, dibuat di Yandex untuk Yandex.Metrica — salah satu sistem analitik web terbesar di dunia — dan dirilis sebagai open source pada 2016 dengan lisensi Apache 2.0. Ia dibuat untuk satu hal yang dikerjakannya dengan sangat baik: agregasi cepat atas data bervolume besar. Dalam arsitektur 4buildsite, ClickHouse adalah mesin yang dipilih untuk lapisan statistik: setiap kunjungan, klik, dan pesanan menjadi event yang dapat langsung dianalisis.
Rahasianya ada pada penyimpanan kolumnar: alih-alih membaca setiap “baris” secara utuh, ClickHouse hanya membaca kolom yang dibutuhkan laporan dan memprosesnya dalam blok besar yang tervektorisasi. Itulah sebabnya pertanyaan seperti “berapa pengunjung saya kemarin, per halaman, per sumber” dapat dijawab bahkan atas jutaan event — sesuatu yang sulit dilakukan database berbasis baris klasik.
Ini bukan teknologi niche: Cloudflare menggunakannya untuk menganalisis trafik HTTP berskala global, dan Uber, eBay, serta Spotify memakainya untuk analitik dan pemrosesan log bervolume sangat besar. Di 4buildsite, mesin yang sama menjadi bagian dari stack platform — tanpa Anda perlu merekrut tim data engineering.
Statistik real-time — begini modulnya dirancang
Modul statistik platform sedang dalam pengembangan, dan arsitekturnya sederhana: event trafik dikumpulkan secara asinkron dan ditulis ke ClickHouse, sepenuhnya terpisah dari server yang menyajikan halaman Anda. Tidak ada skrip pelacakan pihak ketiga yang berat — pengumpulan data minimal dan first-party.
Laporan di panel.4buildsite.net akan dihitung langsung di ClickHouse: trafik halaman, sumber pengunjung, konversi, penjualan per produk. Agregasi yang sering dipakai dihitung lebih dulu lewat materialized view pada setiap penulisan, sehingga dasbor tidak memulai perhitungan berat setiap kali Anda membukanya.
- Trafik langsung: kunjungan, halaman, sumber, dan perangkat — dapat dikueri setelah dikumpulkan
- Penjualan per produk, pesanan, dan konversi untuk toko Anda, diagregasi lewat materialized view
- Riwayat berbulan-bulan hingga bertahun-tahun dengan biaya rendah — kompresi kolumnar memperkecil penyimpanan beberapa kali lipat dibanding data mentah
- Pengumpulan terpisah dari penyajian situs: bersifat asinkron, pelaporan berjalan di sistem terpisah
PostgreSQL + ClickHouse: mengapa kami memakai keduanya
Stack platform menggabungkan dua database karena keduanya mengerjakan hal yang pada dasarnya berbeda. PostgreSQL adalah buku besar transaksional (OLTP): pesanan, pembayaran, stok, akun pengguna — operasi yang harus benar sempurna satu per satu, dengan jaminan transaksional. ClickHouse adalah ruang analisis (OLAP): jutaan event dibaca sekaligus untuk menjawab pertanyaan Anda tentang trafik dan penjualan.
Jika laporan berat dijalankan di database yang sama dengan yang memproses pesanan, setiap laporan akan bersaing dengan pelanggan yang sedang membayar saat itu juga. Pemisahan OLTP/OLAP menghilangkan konflik itu: pesanan pelanggan berjalan di sistem terpisah dari laporan Anda, dan sebaliknya. Setiap mesin mengerjakan persis apa yang dirancang untuknya.
- PostgreSQL: pesanan, pembayaran Stripe, stok, pelanggan — kebenaran transaksional
- ClickHouse: event trafik, laporan, statistik — agregasi pada volume besar
- Desainnya mereplikasi data transaksional yang relevan ke ClickHouse sebagai event, sehingga laporan penjualan tidak pernah menyentuh database yang melayani toko Anda
Analitik first-party yang ramah privasi — sebagai pengganti Google Analytics
Prinsip modul statistik: data situs Anda tetap berada di infrastruktur platform. Data tidak dikirim ke Google atau jaringan iklan lain, tidak dijual, dan tidak digabungkan dengan profil pengguna eksternal. Ini analitik first-party dalam arti sebenarnya: data tentang pengunjung Anda adalah milik Anda.
Karena pendekatan ini tidak memakai cookie pelacakan pihak ketiga, kepatuhan terhadap GDPR menjadi jauh lebih sederhana. Konteksnya penting: pada 2022, otoritas perlindungan data di Austria, Prancis, dan Italia menyatakan penggunaan Google Analytics tidak sesuai dengan GDPR karena transfer data ke AS. Dengan analitik first-party yang di-host di Eropa, seluruh kategori risiko itu hilang sejak awal.
Ada pula manfaat praktis langsung: laporan yang dihitung di ClickHouse tidak disampling, berbeda dengan laporan standar pada alat analitik gratis. Angka lengkap.
Laporan toko dan marketplace — yang akan dihadirkan modul ini
Bagi toko online, ClickHouse berarti jawaban atas pertanyaan yang penting: produk mana yang laku, sumber mana yang membawa pelanggan yang benar-benar membeli, di mana keranjang ditinggalkan. Bagi marketplace multi-vendor, agregasi yang sama akan berjalan atas semua pesanan: volume per vendor, komisi, produk teratas per kategori — tanpa ekspor manual dan tanpa spreadsheet.
Pada skala besar pun biayanya tetap murah. Kompresi kolumnar memperkecil data beberapa kali lipat dibanding format mentah, sehingga Anda menyimpan riwayat bertahun-tahun dengan biaya penyimpanan rendah. Ketika trafik tumbuh dari ribuan menjadi jutaan event, agregasi tetap berjalan dengan penyimpanan kolumnar — mesin ini dirancang sejak awal untuk miliaran baris, bukan dimodifikasi belakangan.
Kelebihan dan keterbatasan
Kelebihan
- Agregasi atas jutaan event dengan penyimpanan kolumnar dan materialized view.
- Analitik berjalan di sistem terpisah dari yang menyajikan halaman.
- Data trafik Anda tetap milik Anda, di infrastruktur platform — tanpa transfer ke Google atau jaringan iklan.
- Tanpa cookie pelacakan pihak ketiga — kepatuhan GDPR lebih sederhana.
- Kompresi kolumnar yang kuat — riwayat bertahun-tahun dengan biaya penyimpanan rendah.
- Open source (Apache 2.0), tanpa lisensi per volume — biaya tidak melonjak seiring pertumbuhan trafik.
Keterbatasan
- Bukan database transaksional — memperbarui atau menghapus baris individual adalah operasi berat; karena itu pesanan dan pembayaran berada di PostgreSQL.
- Dioptimalkan untuk penulisan batch besar; banyak insert kecil yang sering memerlukan batching — platform menanganinya, tetapi ini keterbatasan mesin yang nyata.
- JOIN yang kompleks kurang fleksibel dibanding PostgreSQL — skema event harus dirancang untuk analitik sejak awal.
- Mencari satu baris (point lookup) lebih lambat dibanding database OLTP berindeks — ia tidak menggantikan database utama toko.
Kesimpulan singkat
ClickHouse adalah pilihan tepat untuk analitik bervolume besar: statistik trafik dan penjualan real-time, dengan data Anda sendiri, tanpa membebani situs. Untuk pesanan, pembayaran, dan stok, PostgreSQL tetap digunakan — itulah sebabnya stack 4buildsite menggabungkan keduanya, masing-masing pada keunggulannya. Modul statistik berbasis ClickHouse sedang dalam pengembangan.
Tabel spesifikasi
| Kemampuan | Batas / ambang | Penggunaan umum | |
|---|---|---|---|
| Agregasi analitik | Agregasi atas jutaan event (kolumnar + tervektorisasi) | Lambat pada pencarian satu baris — tidak untuk point read OLTP | Laporan trafik dan penjualan (modul statistik, dalam pengembangan) |
| Ingesti event | Volume tinggi, ditulis dalam batch | Insert kecil yang sering memerlukan batching / async insert | Mengumpulkan pageview, klik, pesanan |
| Penyimpanan & kompresi | Kompresi kolumnar (LZ4/ZSTD), beberapa kali lebih kecil dari volume mentah | Data yang sangat acak lebih sulit dikompresi | Riwayat event berbulan-bulan hingga bertahun-tahun, dengan biaya rendah |
| Update & delete | Mutasi asinkron untuk koreksi sesekali | Tidak cocok untuk UPDATE satu baris yang sering | Penghapusan GDPR (data satu pengguna, atas permintaan) |
| Materialized view | Agregat dihitung lebih dulu pada setiap penulisan | Agregat harus didefinisikan di awal, per laporan | Dasbor: penjualan per hari, produk, sumber |
| Real-time | Event dapat dikueri setelah terjadi | Bukan sistem streaming tingkat milidetik | Statistik trafik dan konversi langsung |
ClickHouse vs PostgreSQL vs Google Analytics / BigQuery — untuk analitik
| Kriteria | ClickHouse (4buildsite) | PostgreSQL (untuk analitik) | Google Analytics / BigQuery |
|---|---|---|---|
| Kecepatan agregasi pada volume besar | Agregasi atas jutaan baris, kolumnar | Menurun nyata atas puluhan juta baris (penyimpanan berbasis baris) | BigQuery cepat; GA4 punya laporan standar yang sudah diagregasi, tanpa kueri bebas |
| Kepemilikan data / GDPR | Data Anda, di infrastruktur platform, di Eropa | Data Anda, di server Anda | Data ada di Google; transfer GA ke AS dinyatakan tidak sesuai GDPR oleh otoritas UE pada 2022 |
| Cookie & persetujuan | Tanpa cookie pelacakan pihak ketiga | Bergantung pada implementasi Anda sendiri | Memerlukan banner persetujuan untuk pelacakan |
| Real-time | Data dapat dikueri setelah terjadi | Mungkin, tetapi laporan berat membebani database transaksional | Laporan standar GA4 bisa terlambat berjam-jam; streaming BigQuery berbiaya tambahan |
| Biaya pada volume besar | Open source — biaya hanya infrastruktur, sudah termasuk dalam langganan | Bertambah seiring indeks, vacuum, dan perangkat keras pada volume tinggi | BigQuery menagih per volume yang dikueri; tier enterprise GA mahal |
| Dampak pada kecepatan situs | Terpisah — pengumpulan asinkron, pelaporan di sistem terpisah | Laporan dapat bersaing dengan pesanan di database yang sama | Skrip pihak ketiga (gtag.js) di halaman — JavaScript tambahan dan permintaan eksternal |
Pertanyaan yang sering diajukan
Apakah ClickHouse memperlambat situs atau toko saya?
Tidak. ClickHouse berjalan di sistem yang terpisah dari yang menyajikan halaman Anda — begitulah arsitekturnya dirancang. Event trafik dikirim secara asinkron, dan laporan tidak pernah menyentuh database toko. Pemuatan situs tidak bergantung pada laporan statistik yang sedang dibuka.
Mengapa tidak memakai Google Analytics saja?
Ada tiga alasan. Data tetap milik Anda, di infrastruktur platform, bukan di Google. Anda tidak memerlukan cookie pelacakan pihak ketiga, sehingga kepatuhan GDPR lebih sederhana — pada 2022, otoritas di Austria, Prancis, dan Italia menyatakan GA tidak sesuai dengan GDPR. Dan laporan lengkap, tidak disampling.
Apa perbedaan ClickHouse dan PostgreSQL — mengapa keduanya?
PostgreSQL adalah database transaksional (OLTP): ia memproses pesanan, pembayaran, dan stok satu per satu, dengan jaminan kebenaran. ClickHouse adalah database analitik (OLAP): ia membaca jutaan event sekaligus untuk laporan. Pemisahan ini berarti laporan berat tidak berjalan di database yang sama dengan pesanan pelanggan Anda.
Apakah data trafik saya aman dan sesuai GDPR?
Ya — secara desain. Statistik bersifat first-party: berada di infrastruktur platform, di Eropa, dan tidak pernah dijual atau dibagikan ke jaringan iklan. Pendekatan ini tidak memakai cookie pelacakan pihak ketiga, dan data pengguna dapat dihapus atas permintaan, sesuai GDPR.
Seberapa “real-time” statistiknya?
Sebuah event — kunjungan, klik, pesanan — terlihat di laporan setelah terjadi. Agregasi untuk periode panjang (berbulan-bulan, bertahun-tahun) tetap terjawab, karena ClickHouse memang dibuat untuk jenis kueri ini.
Apakah saya perlu mengatur sesuatu agar situs saya mendapat statistik?
Tidak perlu. Modul statistik sedang dalam pengembangan dan dibangun sebagai bagian dari platform: begitu aktif di panel admin, pengumpulan data dimulai otomatis untuk situs yang dipublikasikan — tanpa skrip untuk dipasang dan tanpa akun eksternal.