Hold on, i'm not talking about a database that is going to be accessed that frequently or need for constant updates. Just something that is there to track the ships people have.
So, the game (via whatever DB), knows what player A has. Player A buys a ship with in-game credits. Now, this info goes into the fancy schmancy entity graph DB, but its also written to your bog standard SQL DB as well, a simple list of ships owned. Player sells a ship or its permanently lost, then again, that info is also removed from the other DB as its removed from the main one.
Main DB has to be wiped (again, i still don't believe this should have to happen if CIG were competent about what they were doing), they can grab the info from the standard SQL DB and import that data back into the one that was wiped.
No need for cross DB queries as part of the live game.
If they simply can't script that, then i would have to suggest that whatever they are doing is bad design or a lack of talent.
The wipes make sense if the game code is writing a bunch of inconsistent junk to the database and trying to straighten out all the junk is more time than it is worth.
That would be the same issue with the separate DB for in game purchased ships. Sounds plausible, but you still have the game code going crazy and writing a bunch of nonsense to it.
The purchased stuff is bog standard db stuff and that data only goes in one direction. To the game db when there is a wipe.
And all this is a bunch of guessing because we dont know what they are actually doing.