Data Warehouse vs Data Lake: Pilih Mana buat Perusahaan Kamu
TL;DR
Data warehouse nyimpen data yang udah dirapihin dan dibentuk sesuai struktur tabel, jadi langsung bisa dipakai buat dashboard dan laporan. Data lake nyimpen data mentah apa adanya — CSV, JSON, foto, log server — dan bentuknya baru ditentukan pas mau dipakai. Buat sebagian besar perusahaan Indonesia yang datanya di bawah 1 TB dan kebutuhannya laporan bisnis, data warehouse aja udah cukup dan jauh lebih murah dirawat.
Data warehouse nyimpen data yang udah dirapihin jadi tabel. Data lake nyimpen file mentah apa adanya.
Konsekuensinya besar. Warehouse cepat buat laporan tapi kaku. Lake fleksibel tapi gampang berantakan sampai gak ada yang tau isinya apa.
Aku jelasin dua-duanya, terus kasih panduan konkret buat milih — berdasarkan ukuran data dan tipe pertanyaan yang mau kamu jawab.
Apa itu data warehouse?
Data warehouse adalah tempat penyimpanan data yang isinya udah dibentuk jadi tabel dengan kolom dan tipe data yang jelas. Data masuk ke sini setelah dibersihin dan disesuaikan dengan struktur yang udah ditentukan.
Istilahnya: schema on write. Kamu tentuin bentuknya duluan, baru datanya boleh masuk.
Isi warehouse toko_berkah kira-kira gini:
- Tabel
penjualan— kolom tanggal, id_produk, jumlah, total_harga. - Tabel
produk— kolom id_produk, nama, kategori, harga. - Tabel
customer— kolom id_customer, nama, kota, tanggal_daftar.
Rapi. Dan karena rapi, query-nya cepat.
SELECT
p.kategori,
SUM(j.total_harga) AS omzet
FROM penjualan AS j
JOIN produk AS p ON p.id_produk = j.id_produk
WHERE j.tanggal >= DATE '2026-06-01'
GROUP BY p.kategori
ORDER BY omzet DESC;
Query kayak gini jalan dalam hitungan detik di warehouse, bahkan buat puluhan juta baris.
Contoh warehouse: BigQuery, Snowflake, Redshift. Dan buat data yang belum gede, Postgres biasa pun udah bisa jadi warehouse yang layak.
Apa itu data lake?
Data lake adalah tempat penyimpanan file mentah apa adanya. CSV, JSON, foto produk, rekaman call center, log aplikasi — semuanya masuk tanpa dibentuk dulu.
Istilahnya: schema on read. Bentuknya baru ditentuin pas kamu mau baca datanya.
Kenapa ada yang mau nyimpen data berantakan? Tiga alasan:
Murah. Nyimpen 1 TB di object storage kayak S3 atau GCS jauh lebih murah dari nyimpen 1 TB di warehouse.
Nerima apa aja. Data yang bentuknya gak beraturan — log aplikasi, rekaman video, JSON dari API pihak ketiga — gak perlu dipaksa masuk tabel.
Gak buang data. Kamu belum tau data itu bakal berguna buat apa. Simpan aja dulu, bentuknya nanti.
Yang jarang diomongin: alasan ketiga itu juga yang bikin data lake gagal.
Perbandingan langsung
| Aspek | Data Warehouse | Data Lake |
|---|---|---|
| Bentuk data | Tabel terstruktur | File mentah apa adanya |
| Kapan bentuk ditentukan | Sebelum masuk (schema on write) | Pas dibaca (schema on read) |
| Cara akses | SQL | Spark, Python, atau query engine di atasnya |
| Biaya penyimpanan | Lebih mahal per GB | Murah |
| Kecepatan query bisnis | Cepat | Lebih lambat |
| Siapa yang pakai | Analis, tim bisnis | Data engineer, data scientist |
| Risiko utama | Kaku, ubah struktur ribet | Jadi data swamp |
| Cocok buat | Laporan, dashboard, KPI | Data gak terstruktur, machine learning |
Data swamp: kegagalan paling umum dari data lake
Data swamp adalah data lake yang gak diurus sampai gak ada yang tau isinya apa.
Gejalanya khas: ratusan file dengan nama penjualan_final.csv, penjualan_final_v2.csv, penjualan_final_v2_FIX.csv. Gak ada dokumentasi. Gak ada yang berani hapus karena takut ternyata kepakai.
Aku pernah lihat satu perusahaan retail dengan 4 TB data lake yang cuma 6 persennya pernah dibaca ulang. Sisanya biaya penyimpanan tanpa manfaat.
Pencegahannya bukan tool. Tapi aturan:
- Nama file dan folder ikut pola tetap:
sumber/tahun/bulan/tanggal/. - Tiap sumber data punya satu paragraf keterangan: dari mana, update kapan, siapa yang punya.
- Data yang gak dibaca dalam 12 bulan masuk kandidat hapus.
Contoh kasus: kapan toko_berkah butuh yang mana
toko_berkah punya 3 cabang, 84.000 transaksi setahun, plus toko online. Total datanya sekitar 2 GB.
Pertanyaan yang sering muncul dari owner:
- Omzet per cabang bulan ini berapa?
- Produk mana yang paling cepat habis?
- Customer mana yang berhenti belanja?
Ketiganya pertanyaan terstruktur. Jawabannya ada di tabel penjualan, produk, dan customer. Data lake gak bantu apa-apa di sini — malah bikin lebih ribet karena kamu harus nulis kode buat baca file mentah.
Yang toko_berkah butuh: satu Postgres, tiga tabel, dan query yang bisa dipakai ulang. Biaya Rp 150.000 sebulan di VPS.
Kapan itu berubah? Kalau owner mulai nanya hal kayak ini:
- "Bisa gak kita analisis rekaman chat customer service buat cari keluhan yang paling sering?"
- "Foto produk mana yang bikin orang paling banyak klik?"
- "Bisa lihat pola gerakan customer di toko dari CCTV?"
Tiga pertanyaan itu butuh data yang gak muat di tabel: teks bebas, gambar, video. Di situ data lake mulai masuk akal.
Jadi, kamu pilih yang mana?
Aturan praktis yang aku pakai:
Data kamu di bawah 1 TB dan semuanya terstruktur (transaksi, customer, produk)? Data warehouse. Bahkan Postgres biasa udah cukup. Jangan bikin data lake cuma karena kedengeran canggih.
Kamu punya data gak terstruktur dalam jumlah besar (log, gambar, teks bebas) dan mau dipakai buat model? Data lake, dengan warehouse di sebelahnya buat laporan bisnis.
Kamu udah punya lake yang besar tapi analis kamu maunya query pakai SQL? Ini kasus di mana lakehouse masuk akal — pendekatan yang ngasih lapisan tabel di atas file mentah. Yang populer: Apache Iceberg dan Delta Lake.
Buat mayoritas perusahaan Indonesia yang aku lihat, jawabannya yang pertama. Dan itu bukan hal yang memalukan — warehouse sederhana yang dipakai tiap hari jauh lebih berguna dari lake canggih yang gak ada yang buka.
Kesalahan umum waktu milih
Bikin data lake karena datanya "bakal gede nanti". Nanti itu kapan? Kalau data kamu tumbuh 2 GB setahun, kamu punya waktu bertahun-tahun sebelum warehouse kewalahan.
Mikir lake itu pengganti warehouse. Di perusahaan yang punya dua-duanya, lake nyimpen data mentah, dan hasil olahannya tetep masuk warehouse buat dipakai analis. Bukan pilih salah satu.
Numpuk data mentah tanpa katalog. Ini jalan tercepat menuju data swamp. Tulis dokumentasi dari file pertama, bukan dari file kelima ratus.
Ngukur kesuksesan dari volume data. "Kita punya 10 TB data" itu bukan pencapaian. "Kita bisa jawab 8 pertanyaan bisnis dalam 5 menit" itu baru pencapaian.
Lupa bahwa dua-duanya butuh SQL. Baik warehouse maupun lakehouse modern, cara ambil datanya SQL. Kalau kamu bingung mulai dari mana buat karir data, mulai dari SQL, bukan dari milih arsitektur.
FAQ
Data warehouse dan data lake bedanya apa?
Data warehouse nyimpen data yang udah dibentuk jadi tabel rapi dengan kolom dan tipe data yang jelas, siap langsung diquery. Data lake nyimpen file mentah apa adanya — CSV, JSON, gambar, log — tanpa struktur tetap, dan bentuknya baru ditentukan pas dibaca. Warehouse cepat buat laporan bisnis. Lake fleksibel buat data yang bentuknya belum ketahuan mau dipakai buat apa.
Perusahaan kecil butuh data lake gak?
Hampir pasti nggak. Data lake masuk akal kalau kamu punya data yang bentuknya gak beraturan dalam jumlah besar — rekaman video, log aplikasi jutaan baris per hari, atau data sensor. Kalau data kamu isinya transaksi, customer, dan produk, itu semua terstruktur, dan data warehouse jauh lebih murah plus lebih gampang dirawat.
Data swamp itu apa?
Data lake yang gak diurus sampai gak ada yang tau isinya apa. Ini kegagalan paling umum dari proyek data lake. Gejalanya: ratusan file dengan nama kayak data_final_v3_fix.csv, gak ada dokumentasi, dan gak ada yang berani hapus karena takut kepakai. Pencegahannya: katalog data dan aturan penamaan yang ditegakkan sejak file pertama masuk.
Lakehouse itu apa, dan perlu gak?
Lakehouse itu pendekatan yang nyimpen data mentah kayak lake, tapi ngasih lapisan tabel dan transaksi di atasnya kayak warehouse. Yang populer: Databricks Delta Lake dan Apache Iceberg. Berguna kalau kamu udah punya lake yang besar dan pengen bisa query pakai SQL biasa. Buat perusahaan yang baru mulai, ini terlalu berlebihan.
Kalau data aku masih di Google Sheets, langkah berikutnya apa?
Pindah ke database dulu, bukan ke data lake. Postgres gratis dan sanggup nangani puluhan juta baris. Sinyal buat pindah: file Sheets kamu udah lemot dibuka, atau lebih dari dua orang ngedit file yang sama dan angkanya sering beda. Data warehouse cloud kayak BigQuery baru masuk akal pas datanya lewat ratusan giga.
Penutup
Tiga hal yang perlu kamu inget:
- Warehouse = data rapi, siap query, cepat buat laporan. Lake = data mentah, fleksibel, butuh kerja lebih buat dipakai.
- Kalau data kamu terstruktur dan di bawah 1 TB, warehouse aja. Data lake buat kasus ini cuma nambah kerjaan.
- Lake tanpa katalog dan aturan penamaan bakal jadi data swamp dalam 12 bulan. Itu bukan kemungkinan, itu default-nya.
Apa pun yang kamu pilih, cara ambil datanya sama: SQL. Latihan sampai lancar di NgulikSQL — itu skill yang gak berubah walaupun arsitekturnya ganti.
Lanjut baca: ETL vs ELT — gimana data-nya sampai ke warehouse atau lake kamu.
Mau praktek langsung? Mulai latihan SQL gratis
Latihan interaktif, langsung di browser.
Artikel Terkait
Cara Baca Laporan Data dengan Kritis: 7 Pertanyaan Wajib
Angka di laporan bisa bener semua tapi tetap nyesatin. Ini 7 pertanyaan yang aku pakai tiap kali dapat laporan dari orang lain.
Produktivitas Data Analyst: Sistem Kerja biar Gak Kebanjiran Request
Sistem 5 langkah buat data analyst yang tiap hari kebanjiran request dadakan — dari intake form, matriks prioritas, sampai cara nolak tanpa bikin stakeholder ngambek.
Bias dalam Analisis Data: 8 Jebakan yang Sering Gak Kerasa
Delapan bias analisis data yang paling sering nyelip di kerjaan analyst — dari survivorship bias sampai Simpson's paradox — plus cara ngecek dan ngebenerinnya.