Hello! I am making a new game, and I don’t know what data store to use. Either Roblox’s Data Store v2 or Kampfkarren Data Store 2. For me, both are good Data Stores, that’s why It is hard for me to choose what to use. Any help/recommendations are much appreciated!
It’s personal preference really, chose the one you think covers everything you need. Before roblox announced theirs, I’ve always found Datastore 2 to be overrated
That’s bold of you to say that.
With just plain Roblox DataStoreService, you’d need to utilize systems and concepts to overcome issues you’re going to face when using DataStoreService, for example session locking, what to do if the client cannot load their data, data losses and etc.
On the other hand, DataStore2 has been undergone tons of testing for the best safety and security for client data. It’s obvious that you should prefer DataStore2 over plain Roblox DataStoreService. Of course, you are free to use Roblox DataStoreService but remember that you’re going have to implement ways to overcome data storing issues.
You’re going to have to do this anyway and if you don’t you are setting yourself up for failure. Automatic error recovery in a library is great but there are certain points at which you can’t afford to ignore the possibility of an error. For example, if a user’s data failed to load and then they purchase something and you want to save it to the data store, do you overwrite their save with the blank failed one, or fail the purchase because you don’t have enough data to save the purchase? Do you architect it from the start such that you can purchase things without having to touch a master save? These are all things that you need to consider when making a data store system and not things that can be safely ignored just because “DataStore2 does it for you”.
Roblox’s Data Stores v2, I believe, allows for listing of keys and version history. It’s not an entirely new way to use the system - although being able to list keys is a huge help in many cases. For example in a game I work on, favorite items in certain categories are stored (in the favorites store) as <UserId>/<Category>
, and the script can list all keys starting with <UserId>/
to get all the categories.
But you still have to consider error cases.
These are not really comparable. DS2 is an abstraction that wraps around DataStores. Roblox DataStores V2 is just “version 2” of those underlying DataStores. So technically DS2 wraps DataStores V2.
I would also recommend looking into loleris’s ProfileService.
Good point, but I’m trying to say is that open sourced libraries would still require you to figure out how to deal with errors using existing library functions in it.
I strongly reccomend you to use ProfileService instead. As ProfileService is specially made for games with a big amount of Players per Server, Comes with session locking (and more options), Auto-save, Global Updates and with a custom queue-system. (Plus, It’s really easy to use)
Of course, That’s really up to you.
I know this isn’t what you asked for, but I’d use ProfileService instead of these, as it’s much simpler to use, it has session locking and you can write your own data interface.
DataStore2 is kinda obsolete now as data store v2 has data versioning which was the main selling point for DS2, plus you can’t properly utilize ordered datastores in DS2 as it’s using that to keep track of previous versions.
At the end of the day ProfileService
is the greatest