Digital Transformation
Soft Delete
TL;DR: Soft delete adalah pola di mana data tidak benar-benar dihapus, melainkan ditandai (misalnya kolom deleted_at diisi tanggal). Bagi pengguna data tampak hilang, tetapi secara teknis masih tersimpan sehingga bisa dipulihkan dan diaudit.
Apa itu Soft Delete?
Soft delete adalah strategi penghapusan data yang menyembunyikan baris alih-alih membuangnya. Caranya biasanya dengan menambah kolom penanda, lalu menyaring data yang aktif saat menampilkan. Analoginya seperti memindahkan berkas ke folder arsip, bukan ke tempat sampah yang langsung dikosongkan. Pendekatan ini sering dipasangkan dengan rancangan API yang konsisten dan dengan pemakaian webhook untuk mencatat perubahan status.
Soft Delete vs Hard Delete
| Aspek | Soft delete | Hard delete |
|---|---|---|
| Data fisik | Tetap ada | Hilang permanen |
| Pemulihan | Mudah | Sulit atau mustahil |
| Audit | Jejak terjaga | Jejak hilang |
| Ukuran tabel | Bertambah | Tetap ramping |
Kenapa Penting?
Banyak bisnis butuh memulihkan data yang terlanjur dihapus, misalnya pesanan, akun pelanggan, atau dokumen penting. Soft delete memberi jaring pengaman dan mendukung kepatuhan audit. Konsekuensinya, tabel bisa membengkak dan setiap query harus rajin menyaring data yang sudah ditandai hapus. Praktik penanganan data semacam ini sejalan dengan prinsip integritas yang dibahas pada dokumentasi basis data seperti PostgreSQL.
Pertanyaan Umum
Apakah soft delete membuat database lambat?
Bisa, jika data terhapus menumpuk dan query tidak diindeks dengan baik. Banyak tim menjalankan pembersihan berkala untuk memindahkan data lama ke arsip terpisah.
Kapan sebaiknya pakai hard delete?
Saat data tidak bernilai untuk dipulihkan atau wajib dihapus demi privasi, misalnya atas permintaan penghapusan data pribadi.