August 29th, 2002, 08:19 AM
MMORPGs - Which DB do they use
I was just wondering if anyone know which databases are being used for the many MMORPGs out there? Games like Anarchy Online and Asheron's Call require tremendous amounts of transactions in real-time.
So, a few questions comes to mind:
1. Which databases are being used?
2. How do those databases handle so many requests all at once?
3. Do they keep an open connection to the DB for each user or do they do it on a transaction-per-request routine?
4. Is there any way to duplicate (on a small scale of course) the system those companies use.
5. Is the method applicable on web-sites as well or is it only for application based usage?
September 10th, 2002, 04:14 AM
I don't know which DBMSs these MMORPGs use but Oracle, SQL Server, Postgre and mySQL would all be up to the job.
The databases will be able to handle lots of requests, as long as the underlying structure does not allow more than one person to change a particular piece of data at 'the same time'. The performance figures for all the DBMSs I have named are pretty impressive but are improved on an application-by-application basis through various means.
It is possible, though unlikely, that each client will have a constantly open connection to the database. More usual is to have a pool of connections, opened once and made available on a round-robin basis to clients. Making and breaking connections is a relatively time-consuming process, and each connection uses resources and demands attention, so getting the correct balance for the right number of pooled connections is important.
The 'method' (whichever part of the process you mean) is also applicable for web sites, but note that the database client is most probably the web server (ASP, Java servlet, JSP, PHP, etc.), which in turn prepares HTML and/or XML for the client. It is VERY unusual to have a web-based client interact directly with the database.
This doesn't give you much in the way of details, but I hope it's helpful.