MMORPGs often split things up into multiple servers so if one fails or equipment fails, the whole thing doesn't go down...MMORPGs are much larger than the little console programs, UI applications, single-player games or otherwise non-server applications most programmers are probably used to.
- Login servers.
- World servers.
- Area servers (ie. Central Shroud and East Shroud are separate servers).
- Chat servers (which is almost certainly how things like CWLS, CW parties, PF and FC chat function across worlds and why occasionally these have had maintenance).
All I know is that in a game of this scale, database access congestion could be a real concern and although they are never specific, they do keep hinting at either database or network congestion such as "the player only has so much data they can carry with them" which is why you don't carry the Chocobo Saddlebag into duties.I mean you can query SQL server data and have it read/ store it there but that's very inefficient
I don't know why they did the lottery on a centralized server instead of on individual world servers, but I can see some risk mitigation in it. It prevents it interfering with the world's spaghetti code, it makes sure the lottery is synchronized across all worlds and data centers and frees it of delays that may be caused by the world's operations and likewise prevents it from delaying the world's operations. But obviously for all its risk mitigation, there are some risks it presents which came true.Of course big data takes forever to increment through. But, they shouldn't be querying data for something simple as a returned yes or no [true or false].
I will admit I have seen all these things not be an issue on modern hardware (and this was years ago). So I don't really know. But from what they said, somehow they created a bottleneck even if it was due to an incompetent method of storage or working around spaghetti code.(There should be zero bottlenecking dbs, especially dbs on separate hardware that might have other information needed to be read in, for something that can resolved relatively easily by relating objects).
I work with game data and server code and big data is used when it needs to be, a good usage of an SQL database on separate hardware for example might be for messages, maybe even item information(?), save states, etc



Reply With Quote


