Thoughts from several directions came together as I tossed and turned last night. I dragged out my references from back when I was playing with Beowulfs, and then did some update research. Then I looked again at a recent post Eric at elder Scrolls wrote. Put simply, the Big Boys don’t use relational databases because they’re too slow for larger MMOs. However for the small indie it makes up for the fact there aren’t enough people, and especially not to design a system from scratch.
Now Eric is suggesting that a combination of SmartFoxServer, Unity (especially 2.5 which works on things other than Macs), and a relational DB like MySQL will allow an indie to create a ‘poor man’s MMO’ in a timely fashion. The fact it’s slower than a specialized system is balanced by the fact that 80% and out there beats almost at 100% and still sitting on the developer’s desk. Add to this the fact that it would actually be about 60% and still sitting on the developer’s desk and, well, you see where you are. But I opened this talking about beowulfs.
Theoretically a parallel clustered system aka a beowulf would more than compensate for the slowdown of a relational database. In fact the performance of existing testbed parallel databases indicates this is true. Unfortunately there are a lot of words in the two sentences that lead this which run headlong into the original reason Eric’s considering a relational database. “Theoretically” and “testbed”. If you’ve got to build it yourself or massively tweak something you’re right back where you started.
Hope is not gone, however.
There’s an interesting project in… actually it’s a distributed more than it is a parallel database. It’s called hypertable. The bad news it is still a 0 version system – 0.9.something. The good news is that it’s related to an existing system with some overlap between the people who did the existing system and these folk. The existing system is Google’s BigTable, which is proprietary and NOT shared.
If’n I were part of the indie team – meaning if I decide to go a bit further with my MMORTS – this is something I’ll be examining closely. It looks very good at the start, and doesn’t look like a lot of new learning from SQL knowledge.