Datastores: Request flow, caching and throttling should be better documented

On the hub, there is no clear documentation on the steps that a request takes when it passes through the DataStoreService API. It is not clear when requests yield, when they consume budget, when they set caches, when they return immediately as cache hits, etc. We only know the write cooldown limit of 6 seconds, the read cache cooldown of 4 seconds, and the fact that requests can be throttled.

I have documented most of the mechanism here since the hub is missing the information, but this is just from a black box perspective. I’m sure more information could be added to make it even more clear to experienced developers how Datastores work internally: (linked at section)

This describes throttling, throttling queues, cache hits, cache sets, and when and how requests can succeed or fail. It would be useful to have a similar (more detailed / fact-checked) overview on the hub.

I noticed that the general trend of the hub seems to be to make the articles super easy to understand for inexperienced/younger developers, but this leaves things to be desired for more advanced users such as myself. I hope this can be amended in the future with more in-depth articles/overviews like this that focus more on the technicalities. A whitebox system feels easier to use than a blackbox system, even if the API is the same, because the behavior of the system is easier to understand that way.

3 Likes