Best way to ARCHIVE data?

One of my apps has 8641 parent records and 32087 child records. Furthermore, I have a lot of text formulas in the child table because of report filtering and grouping requirements (grouping by parent fields when displaying child records). Performance of our app is an issue, so I’m planning a method of archiving some of it. By “archiving”, I mean that my users want to access the older records just like the main data set, but from a different screen.

Has anyone done something similar? If so, what was your process? Or has anyone used a third-party tool like Zapier?

In a nutshell, I want to keep an archived version of a parent table, child table, and views which access that data. My plan involves

  1. Create archive tables that are connected. (done)
  2. Create a view which lists/filters the data I wish to archive.
  3. Create a button that a human must click which will run javascript & ajax to do all the record manipulation I need (copy all the parent records, copy connected children, verify, delete original children, delete original parents and keep it all straight or run it async).

I have done all these functions before, so I know I can code it, but am wondering if there is any better way.
Thanks for any ideas in advance.