I have a building game, which I want to add a terrain system to, which can save and serialize the game's data but I'm not sure how to get terrain data, save, and load it.
This is not unity, ReadVoxels does not exist.
The way that I save my terrain data is grab the seed, and also save the players Location, after they load in they'll be spawned in the same place, as well the same seed / terrain map.
To save buildings and such, I'd use DataStores to save builds (which is possible), I'd highly recommend this guy, highly detailing how it works.
https://devforum.roblox.com/t/how-do-i-create-a-saving-system-for-parts-using-datastores/413126/17