Is compliance something that is important to you? If so, many people may not realise that standard field history tracking in Salesforce is kept only for 18 months. This is clearly insufficient in most regulated industry scenarios. It is possible to use Apex in this scenario to write changes into a separate object however if you need to audit changes across your system for 7 years then you might need to consider the 'Field Audit Trail' add-on.
Use Salesforce Metadata API to define a retention policy for your field history. Then use REST API, SOAP API, and Tooling API to work with your archived data. For information about enabling Field Audit Trail, contact your Salesforce representative. Field history is copied from the History related list into the FieldHistoryArchive object and then deleted from the History related list. You define one HistoryRetentionPolicy object for your related history lists, such as Account History, to specify Field Audit Trail retention policies for the objects that you want to archive.