✓ Accepted answer
#Limits
DataStores do have a limits of how much data you can store per minute. and what you can store, and How much you can store per key
You can view said limits here
#How datastores work
Data is saved in JSON format, so a key for Roleplaying games where you can Build houses can look like this in JSON:
{
"Points": 500,
"Purchases": [
"Car": 1
],
"House": [
{
"Type": "wall",
"Properties": {
"Start": {
"X": 50, "Y": 0, "Z",0
},
"End": {
"X": 50, "Y": 0, "Z", 0
}
"Color": {
"Material": "Concrete",
"Color": {"r":5, "g":10, "b":0}
}
}
}
]
}
When using GetAsync() Roblox changes the Raw JSON string into a Lua readable format
When using SetAsync() Roblox encodes the Data into JSON to be saved on the servers
Using tables you can store Roblox specific datatypes such as Color3 or Vector3's as well but then you have to decode them back into the Roblox datatypes yourself