It’s per transaction. It is fine to write a large data object or table to the store in a single transaction, but if you write them to the store in a series of transactions you will trigger the cooldown. Generally, games use an auto-save every 5 minutes or so, rather than saving every time some little thing changes for a player.
Very misleading answer…
He is talking about the rate limitations not size limitations
The rate limits are per game, not per datastore / key
Also most games dont autosave every 5 mins… they save on .PlayerRemoving() and on :BindToClose() and thats what everyone should do, although i recommend using something like ProfileService to handle it all for you with session locking etc
EDIT:
To clarify the limits,
You get 10 requests (SetAsync) per min per CCU (concurrent users) + 10 (off the top of my head might be inaccurate)
so if you have 10 CCU you get 110 requests per min
And if you do not periodically autosave, you run the risk losing a player’s progress should something unforeseen happen, like the server crashes. You should auto-save. Even rock-solid games like Minecraft periodically auto-save by default.
Yeah I didnt mean that autosave shouldnt be done, i was saying that it shouldnt be the main form of saving and you should rely on PlayerRemoving and BindToClose (which be didnt mention in his comment, making it seem like autosave is enough)