Use ARRAY. This is what it's built for as you get a nice Download and Load feature using JSON storage. So it's a great way to use webstorage or AJAX.
I can see you need a lot of data and I'm not sure if 3 levels deep is enough. I would suggest maybe an alternative storage model than 1 node = 1 piece of data. Check out the manual for Expression on strings and tokenate function. Tokenate splits string data by character.
String = "name|x|y|gravity|wealth|minerals|foo|...."
example = "Zebes|100|200|0.5|poor|low|hostile|...."
so then you array can be
Or you can use Spritebank(plugin) which I think will store all your sprite data and reload them when you want.
By default browsers easily allow up to 5mb of data. Past that browsers prompt users for the website to use more data. However even at 200 systems * 10 planets. You will still have enough room.