Job expired, user xoá, nhưng dữ liệu thì vẫn còn y nguyên từ 2019
Database phình to bất thường, query chậm, nhưng mở ra xem thì toàn dữ liệu rác: user đã xóa, job hết hạn, log từ thời “khai thiên lập địa”. Đây là dấu hiệu hệ thống thiếu cơ chế dọn dẹp.
![]() |
Database của bạn khi không clean dữ liệu |
Triệu chứng: Database đầy rác
Dấu hiệu:
- Table users chứa cả tài khoản đã xóa từ 5 năm trước.
- Query chậm vì table logs có hàng triệu dòng không cần thiết.
- Dung lượng DB tăng vọt, tốn chi phí lưu trữ.
Giải pháp: Dọn dẹp định kỳ
Để giữ DB gọn gàng:
- Scheduled job: Viết cron job xóa dữ liệu hết hạn (job, log, session).
- TTL index: Với MongoDB, dùng TTL index để tự động xóa document sau thời gian nhất định.
- Phân vùng dữ liệu: Partition table (Postgres, MySQL) để dễ xóa dữ liệu cũ.
Ví dụ: Table jobs có cột expired_at, chạy job hàng ngày để xóa WHERE expired_at < NOW().
🎯 Tóm lại: Dọn dẹp dữ liệu định kỳ giúp DB nhẹ, query nhanh. Đừng để database thành “nghĩa địa” dữ liệu.
Đăng nhận xét