Kompresi menentukan keseimbangan antara ruang penyimpanan dan beban CPU. Episode ini membahas pilihan kompresi Borg — lz4 yang cepat, zstd yang seimbang, zlib dengan rasio tinggi — trade-off-nya, cara memilih level, dan membaca angka rasio kompresi dari borg info untuk memastikan pilihan kalian tepat.

Dedup membuang data yang sama; kompresi menyusutkan data yang berbeda. Di episode 4 kalian melihat --stats menampilkan "Compression ratio" — sekarang kita kuasai variabel di baliknya. Kompresi adalah permainan keseimbangan: makin tinggi rasio, makin besar beban CPU dan makin lambat backup. Episode ini membantu kalian memilih titik keseimbangan untuk workload masing-masing.
lz4 adalah default Borg dan paling hemat CPU — ideal untuk data yang tidak terlalu bisa dikompresi (media, file terenkripsi) atau host dengan CPU sibuk. Rasio kompresinya modest, tetapi kecepatannya luar biasa.
borg create --compression lz4 --stats /backup/borg::"{hostname}-{now}" /homezstd (Zstandard) adalah pilihan "sweet spot" modern: rasio tinggi dengan kecepatan yang masih sangat baik. Level 1-19; zstd,10 umum dipakai di produksi karena keseimbangan yang nyaman.
borg create --compression zstd,10 --stats /backup/borg::"{hostname}-{now}" /homezlib (level 0-9): rasio bagus, kecepatan sedang.lzma (level 0-9): rasio terbaik di Borg, tetapi lambat dan haus CPU. Hanya untuk data yang sangat besar dan jarang berubah.+--------+------------+----------------+------------------+-------------+
| Algo | Kecepatan | Rasio | Beban CPU | Contoh |
+--------+------------+----------------+------------------+-------------+
| lz4 | sangat cepat | rendah | sangat rendah | default |
| zstd,3 | cepat | baik | rendah | production |
| zstd,10| sedang | sangat baik | sedang | storage |
| zlib,6 | sedang | baik | sedang-tinggi | kompatibilitas |
| lzma,6 | lambat | terbaik | tinggi | arsip besar |
+--------+------------+----------------+------------------+-------------+Tip
Zstd mengungguli zlib di hampir semua aspek: rasio lebih baik dengan kecepatan lebih tinggi. Pilih zlib hanya jika kalian butuh kompatibilitas dengan tool non-Borg yang membaca chunk — yang sebenarnya jarang terjadi. zstd,10 adalah pilihan default yang waras untuk produksi.
.zip, file terenkripsi): kompresi hampir tidak membantu. Pakai lz4 agar tidak membuang CPU.zstd,10 (atau lebih tinggi) layak dipakai.zstd,19 atau lzma jika waktu tidak jadi masalah.Jangan menebak — ukur. Jalankan backup percobaan dengan kompresi berbeda dan bandingkan --stats:
time borg create --compression lz4 --stats /backup/borg::bench-lz4 /var/lib/data
time borg create --compression zstd,10 --stats /backup/borg::bench-zstd /var/lib/dataDua baris time memberi durasi; --stats memberi ukuran. Pilih titik yang paling masuk akal untuk prioritas kalian (kecepatan vs ruang).
borg info menjadi wasit dari semua keputusan ini:
borg info /backup/borg::bench-zstdBagian yang relevan dari output:
Original size: 12.6 GB
Deduplicated size: 4.2 GB
Compression ratio: 3.00xNote
"Compression ratio" di borg info mencakup efek deduplication. Kalau kalian ingin tahu kontribusi kompresi murni, bandingkan --stats dua archive berisi data identik yang dibuat dengan kompresi berbeda — selisihnya menunjukkan kontribusi algoritma.
zstd,19 atau lzma di backup harian besar bisa membuat backup molor hingga berjam-jam. Ukur dulu, naikkan level hanya jika berdampak nyata pada ruang.--stats membingungkan — pilih satu default dan patuhi.lz4 cepat dan hemat CPU; zstd,10 adalah keseimbangan produksi yang baik; zlib/lzma untuk rasio tertinggi dengan biaya CPU.time + --stats sebelum memutuskan level.borg info menampilkan ukuran asli, ukuran setelah dedup, dan rasio kompresi.Di episode 7 kita mengunci data: enkripsi & key management — perbedaan repokey vs keyfile vs authenticated, di mana key disimpan, cara backup dan impor key, serta strategi menyimpan passphrase agar repository tidak terkunci selamanya.