Increase data store limit from 4MB to 8MB (or more)

The last time the data store limit was increased was in September 2020 (256KB to 4MB). I think it’s time for another increase. This would allow players to create larger cart rides in my experience.

(Yes, I could make use of data sharding but this would be prone to bugs and API limitations)

(Also I already use serialization and compression, but many of my players are still reaching the limits for their cart rides.)

9 Likes

In my opinion 4mb is enough, if your requesting a key 4mb or larger it will just have too much latency, try seperating your objects into smaller ones or optimising data.

2 Likes

I also thought that 4MB was not enough. Try converting those CFrames into Buffers and converting them into CFrames when loading them, and this way you can optimize the space consumed much more (as a note, the datastore supports saving buffers directly).
And yes, 4MB is more than enough haha

2 Likes

Yeah there’s literally no reason to increase the datastore limit. 4MB is already pretty high so if you’re having trouble with reaching the limit quickly, you may wanna look into methods for compressing data.

2 Likes

I can hardly imagine a cartride game using more than 4mb of data, you might not be storing it efficiently.

However, even data compression has it’s limits.
At some point you just physically can’t make it smaller with even the most aggressive compression.

Case and point: voxel games.

I remember there being a few games on Roblox that are like skyblock / Minecraft.
Games like this effectively have to store every single block that was placed by the player.

The downside?
If you made a Minecraft-esque game where the entire world is created with voxels or blocks, then you will very quickly run out of storage space.

Even 4mb is not enough storage for a voxel world.

Granted, a voxel game would also grow pretty large pretty quick.
Minecraft save data for instance can grow to like a whole gigabyte if you explore a huge chunk of the world.

But, suppose you only save chunks that were modified and delete chunks where a player hasn’t done anything on for a while and it might drastically reduce that data.

One of the keys to efficient data storage is perhaps to not use strings but save everything using only numbers and maybe extremely short strings with no more than 4 characters.

But I digress, I support increasing the storage limit to 8mb.
Though, not every single game might require that much, I know in some of my projects I might even be able to get away with even less data.

Maybe Roblox’ data storage limit can be adaptive and be changed depending on the type of experience?
Perhaps a request process where you request a Roblox staff member to increase the storage capacity for your game if given a good reason and if you already utilize some form of compression?

Yeah you’re gonna have to figure out a better way to store your data.

You are aware roblox is adding storage limits next year so you will be limited to 100 Initial MB plus 1MB per unique visit. You can purchase more total storage if you need it but if your using the entire 4MB key limit you might need to start looking into how you could further optimize your saves.

It could end up costing you money otherwise.

what the hell do you need 8mb of data storage for

I use compression and serialization.

No, there is a reason actually. Read the post.

The experience storage limit isn’t the problem for me. See my current stat:

100GB out of 81.8TB. So the total storage isn’t the problem at all, it’s just the per key limit.

1 Like

Out of curiosity, how are you compressing/serializing? I’ve been going down this rabbit hole myself for saving entire worlds, filled with custom properties, objects being positioned/rotated and more, and I feel as though 4MB is more than enough, and that I’ll be okay with my data sizes.

I use the compression from this post.

I made my own custom serialization to serialize common words like class names, property names, enums, etc. It’s pretty standard, just replace those common words with an ID like “a”, “Az1”, etc.