I’ve been struggling to figure out why UpdateAsync and SetAsync have these crazy throttle rates, taking 5 seconds miniumum to update it, and ends up causing major issues. Why is this happening? I did a test and set an async 2 times in a row, the second taking 50 seconds to finish. I hope this is just me, and not on ROBLOX’s part - though I highly doubt it’s my fault at this time.
How much data are you saving?
It’s literally instant for me.
About 700 characters worth
There’s a currently undocumented limit for set - you can only update a single key 10 times per minute. So if you try to update the same key more often than that I could see a throttle-induced delay growing to 50 seconds.
We’ll work on documenting that (cc @UristMcSparks) and check if we can relax that.
Why? This creates a lot of unavoidable problems limiting a lot of datastore capabilities.
I think we ran into scalability issues with the database we’re using since it shards based on the key. Imagine 1000 servers writing the same key once every second - now you have to sustain 1k writes/sec for every key.
What are you doing that needs to SetAsync into the datastore so often?