I'm expert in optimizing Magento websites for quicker page load. I think the database is only part of the problem, 2gb is big but not extreme, however cleaning the database is a simple task and there are a lot of scripts for this.
I have all things ready to speed up the website considerably. With all things applied, it is possible to get down page load to < 50 ms for static pages, like product pages etc. and 500ms for pages that requires other things. However these extreme fast pages requires to set up varnish reverse proxy.
For most practical application, optimizing Magento itself by removing unecessary modules, cleaning the database, making sure the right headers are set for the data, and if needed doing lazy loading of static content is more than enough.
If u have any questions just PM me I am happy to help