Columnar Database
Database yang menyimpan data per kolom, bukan per baris, jadi query aggregasi kayak SUM atau AVG bisa jauh lebih cepat karena cuma baca kolom yang dibutuhkan aja.
Apa itu Columnar Database?
Bayangin kamu punya spreadsheet besar berisi jutaan baris transaksi. Kalau mau hitung total revenue bulan ini, database biasa harus baca SEMUA kolom di setiap baris, padahal kamu cuma butuh kolom tanggal dan revenue. Itulah masalah yang diselesaikan Columnar Database.
Columnar Database (atau Column-Oriented Database) menyimpan data secara vertikal per kolom, bukan horizontal per baris. Artinya, semua nilai untuk kolom revenue disimpan berdekatan di disk, semua nilai tanggal disimpan berdekatan, dan seterusnya.
Row-Based vs Column-Based
| Aspek | Row Database | Columnar Database |
|---|---|---|
| Cara simpan | Satu baris disimpan utuh bersama | Satu kolom disimpan bersama |
| Cocok untuk | INSERT, UPDATE, SELECT satu record | Agregasi (SUM, AVG, COUNT) |
| Contoh query cepat | Ambil profil user ID 123 | Hitung rata-rata umur semua user |
| Kompresi | Kurang efisien | Sangat efisien (nilai serupa berdekatan) |
| Use case utama | OLTP (transaksi harian) | OLAP (analitik) |
Kenapa Lebih Cepat untuk Analitik?
Ada dua alasan utama:
I/O Lebih Sedikit: Query "total penjualan per kategori" cuma perlu baca 2 kolom, bukan semua kolom. Di tabel dengan 50 kolom, kamu hemat 96% I/O disk.
Kompresi Lebih Baik: Karena nilai yang mirip disimpan berdekatan, misalnya kolom status_order yang isinya cuma "PAID", "PENDING", "CANCELLED", database bisa kompres data jauh lebih efisien dengan teknik seperti Run-Length Encoding atau Dictionary Encoding.
Kapan Pakai Columnar Database?
Kalau kerjaan kamu di dunia analytics, Data Warehouse, atau BI, kemungkinan besar kamu udah pakai tanpa sadar. BigQuery, Redshift, Snowflake, dan DuckDB semuanya columnar di balik layar.
Tapi kalau aplikasi kamu butuh banyak operasi tulis, misalnya aplikasi e-commerce atau SaaS yang insert ribuan record per detik, row-based database kayak PostgreSQL atau MySQL tetap pilihan yang lebih tepat. Columnar unggul di baca, row-based unggul di tulis.
Udah paham Columnar Database? Lanjut latihan SQL dan Excel yuk!
Latihan interaktif, langsung di browser.