While DataStore2 is good, there’s an even better source for data saving called ProfileService.
ProfileService is a single module script that implements many things that we should, but don’t, do when making our data loading and saving systems. This includes session locking (locking data to one server so it can’t be accessed from another server to prevent item duplication and accidental data loss), and other features.
As they state on the documentation for it:
Why not DataStore2?
DataStore2 is mostly a Roblox DataStore wrapper module which automatically saves duplicates of your data. ProfileService is an extension module which gives you powerful tools to manage profile session-locking, cross server gifting and profile data organizing.
ProfileService protects your data only from the relevant Roblox server problems. It’s completely stacked when it comes to protecting your game data from item duplication exploits.
ProfileService is striving to be a DataStore solution that is the most accurate implementation of data storage following the development guidelines and practices provided in the official Roblox API.