ganuonglachanh
If you implemented your idea, you would either have to close all your discussions at the end of the year or at least after a specified amount of time. Only those discussions could be moved to an extra table without the risk of having to move them back to the recent discussions table once there is a new post.
But that's not all. In the users profile you could show only recent posts or you would have to make a combined sql query over both tables. It goes on with the search fuction and affects a lot of other parts of the software you probably aren't aware of yet. All this is likely not what you want.
16GB on the other hand is not too much for a reasonable priced SSD, so you wouldn't gain a lot by reducing its size.
I would think about an efficient caching mechanism to serve unregistered visitors. In many larger forums with sufficient search engine exposition, these visitors account for 70-90% of the page views. If you would not need to query the database for these, you could gain a lot.
Having said that, I don't know how to accomplish that with flarum. In traditional forum designs, you would e.g. simply cache rendered html-pages, this approach will not work with flarum. How efficient flarum's own caching mechanism is, I cannot tell. Maybe one of the developers (@Toby and @Franz) can give you a more helpful answer here.