Cara data disimpan dan distrukturisasi dalam file, mencakup encoding dan layout-nya. Format yang dipilih menentukan seberapa cepat data bisa dibaca, seberapa kecil ukurannya, dan seberapa mudah diproses.
Data Format adalah cara data disimpan dan dikodekan dalam file atau media penyimpanan. Kalau data adalah informasi yang mau kamu sampaikan, format adalah "bahasa" dan "bentuk surat" yang kamu pilih untuk menyampaikannya. Pilihan format yang tepat bisa bikin pipeline data kamu jauh lebih cepat dan hemat biaya, pilihan yang salah bisa bikin query makan waktu berjam-jam dan storage membengkak.
Di dunia data engineering, format bukan cuma soal estetika. Ini keputusan teknis yang punya dampak nyata ke performa, biaya, dan kompatibilitas antar sistem.
| Format | Tipe | Compression | Human-readable | Cocok untuk |
|---|---|---|---|---|
| CSV | Row-based, text | Nggak (by default) | Ya | Export/import sederhana, spreadsheet |
| JSON | Row-based, text | Nggak (by default) | Ya | API response, config, semi-structured data |
| Parquet | Column-based, binary | Ya (built-in) | Nggak | Analytics, data warehouse, big data |
| Avro | Row-based, binary | Ya | Nggak | Streaming, schema evolution |
| ORC | Column-based, binary | Ya | Nggak | Hive, Hadoop ecosystem |
| Excel (.xlsx) | Row-based, binary | Ya (zip) | Via app | Laporan manual, kebutuhan bisnis |
Ini salah satu perbedaan paling penting yang wajib kamu pahami:
Row-based (CSV, JSON, Avro): data disimpan baris per baris. Bagus untuk operasi tulis dan transaksi karena kamu bisa tambah satu baris baru tanpa reorganisasi besar. Tapi kalau kamu cuma butuh 2-3 kolom dari tabel yang punya 100 kolom, kamu tetap harus baca seluruh baris dulu.
Column-based (Parquet, ORC): data disimpan per kolom. Kalau kamu cuma butuh kolom revenue dan date, sistem cuma baca dua kolom itu saja, skip sisanya. Ini kenapa query analitik di BigQuery atau Redshift jauh lebih cepat dan murah kalau pakai format columnar.
Beberapa format punya schema yang ketat (Avro, Parquet) di mana struktur data harus didefinisikan dulu sebelum bisa dipakai. Ini bagus untuk konsistensi dan evolusi schema yang terkontrol. Format lain seperti JSON lebih fleksibel tapi rawan inkonsistensi karena satu field bisa string di satu record dan number di record lain tanpa ada yang complain.
Rule of thumb: untuk analitik, default ke Parquet. Untuk pertukaran data antar sistem, JSON. Untuk laporan ke tim bisnis, CSV atau Excel.
Udah paham Data Format? Lanjut latihan SQL dan Excel yuk!
Latihan interaktif, langsung di browser.