I am thinking of making a game that involves saving and loading a base. Would it be appropriate to use Data Stores to save that data or should I use something more efficient?
Options include:
(There is technically Data persistance, but this is deprecated and thus should not be used.)
You'll definitely want to use data stores if you can. You'll need to encode/decode whatever a "base" is made up of into something that you can store in a data store. ex, you cannot store a Part into a data store, but must first encode that into a simple value (string, boolean, integer, or table).
There is a huge amount of data that you can store in a single key of a data store. Data stores are perfect if each base is owned by only a single player (or even a few), but have limits on how many times they can be accessed universe-wide (200 requests per 10 seconds per key as of a 9 months ago) - this means that if want a single base to be opened/modified by hundreds of servers every 10 seconds, data stores aren't going to work.
More information in the Data store manual