Back in 2006 there’s been an interesting presentation about the underlying design principles of Second Life. It’s being hosted at the company website of MySQL.
The presentation goes about 45 pages. The most interesting page is for sure 25, because it gives a big overall picture about the underlying architecture of SL.
So, here without further fanfare, is this picture:
As you can see, there are quite many parts behind Second Life that we are normally not really aware of. The only part we can already build ourselfs is the viewer. This is now available as the real deal under the GPLv2 already.
But the rest - well… the most important part is the simulator. That’s the machine that’s computing the avatar movement and so on.
When it reboots it’s got to take it’s data from the central database. Once this is done, it should be more or less in an operational state. States and assets of the sim are being saved on an extra machine, the assets server. That’s just a big, clustered filesystem, so there’s not much intelligence on this machine at all. I guess it’s being used to save data in it which needs to become fast available, and of course there’s nothing faster then getting data of a filesystem instead of a database. A database adds for the same task many new layers the request must go through, so that’s quite a good way to speedup things for trivial tasks.
[Mehr]