Không clean dữ liệu: DB chứa dữ liệu từ thời nguyên thuỷ

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.

Post a Comment

Mới hơn Cũ hơn