DataStore limit being hit with placement system

I am having fears on the data store limit being hit in my game. A player can own multiple houses and each of those houses have furniture. Just testing now, I placed 200 furniture items in the 1 house and that took up 50k characters. So now if a player was to do that, but with 10 houses, that’d be way way over data store limits.

local Encode = HttpService:JSONEncode(Data)
print(string.len(Encode) .. ' / 260000 characters used for ' .. player.Name)

  50903 / 260000 characters used for NinjoOnline

So what can I do about this? Adopt Me and other games like it allow players to have a number of different houses, each with infinite amounts of furniture, so how do they manage it? The only things I am saving for the furniture is

  1. Furniture Name
  2. CFrame (12 values)
  3. Primary/Secondary/Tertiary Colours (each one having 3 values, R/G/B)

Have you tried making those 3 things into one table and having the table being saved?

What they might do is have a datastore for each house the player’s own. Also, to cut down on space ensure that you make a Id system for all furniture so you don’t have to save the entire name. In addition, for adopt me you have a limited color palette, so that would save more space since they most likely just have an id for each preset color, and save the Id instead of having to save a longer RGB value. They may also use a system similar to this: Stravant's BitBuffer Module - Compact Storage Of Data [Tutorial] - #10 by Maelstronomer