Archiving data is a topic I don't think of often, until I read an article like this. In my previous job we'd write DELETE triggers that would write the deleted record to an archive table. You could, theoretically comprise the lifetime of some data that way, but I'd hate to have tried.
In my current job they do a better approach. If it's an app developed internally, then all records for data tables have two columns: CreateBy, CreatedOn, UpdatedBy and UpdatedOn. And they never delete data.
But archiving is still a challenge. Many times, we get close to running out of disk space. So far, that's been handled by opening a help ticket to have some additional storage added to a VM. But I wonder if it wouldn't be better to archive the data into some storage format, then remove it from the disk. We'd have the data; in case we'd ever need to view it. Generally, we only need the last 3 years of data, so holding onto 20 years' worth which is largely ignored, doesn't make much sense. At least to me. I've no idea how it could be done, but it's an interesting problem.
Kindest Regards, Rod Connect with me on LinkedIn.