Any experience in archiving old ERPNext data?

Hi ERPNext gurus,

We have one ERPNext instance running in a retail industry, so transactions come at a very big volume in a short amount of timespan. Each minute usually produces around 10 Sales Invoice for the time span of around 8-9 hours per day, everyday. This system has been running since 2019 and we notice that each year, the report generations take longer. Often times, they distract some already-intense operations.

I am sure that there are lots of people here running ERPNext instances for multiple years. I am wondering, what did you do with the large historical transactional data? Is wiping the old years the way to go? If so, how to ensure that the right set of data is wiped off (eg. one Sales-flow set includes SO, SI, DN, PE)? I was thinking some kind of archiving server to store all the data, but the servers dedicated for operational should not have all the data.

Looking forward to have a good discussion here. I am open to hear any suggestions from more experienced ERPNext implementors/developers here.

Regards,
Hans