Columnar Database

Menengah

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

AspekRow DatabaseColumnar Database
Cara simpanSatu baris disimpan utuh bersamaSatu kolom disimpan bersama
Cocok untukINSERT, UPDATE, SELECT satu recordAgregasi (SUM, AVG, COUNT)
Contoh query cepatAmbil profil user ID 123Hitung rata-rata umur semua user
KompresiKurang efisienSangat efisien (nilai serupa berdekatan)
Use case utamaOLTP (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.

Lanjut Latihan

Udah paham Columnar Database? Lanjut latihan SQL dan Excel yuk!

Latihan interaktif, langsung di browser.

Mulai Latihan →