MMORPG Database Suggestions...

Started by
18 comments, last by The Reindeer Effect 19 years, 5 months ago
If anyone has any suggestions on a database I could use for a mmorpg style game it would be a great help... If possible I would like to use DAO without MFC, but if there are other options availible they could work too (completely free of course) I do not plan to have an open source game for security through obscurity reasons. Thanks in advance.
Advertisement
DAO why, is there any reason for choosing DAO? What about ADO or direct ODBC calls, if you want some code examples i'll post some up, i'm a business software developer (payroll & hr) by day so use mySQL, SQL Server and ORACLE db's on a regular basis.
I've just used it before when programming an small scale mmorpg in visual basic... but sure code examples would be appreciated. :) The main thing i'm worried about is data access time, some data remains in memory while other data is loaded and stored back into the database (i.e. player logs on and the player data structure is loaded; the player logs off and the player data structure is stored)
I'm not so sure of the necessity of a relational DB for a MMORPG ... could someone explain to me why it is needed?

And I am not talking about persistant data storage in general, but it seems like alot of hassle for a non-transaction based system. I mean, a MMORPG is pretty much a large physics simulation, not some goofy merchant website.
I'd suggest Microsoft SQL Server. Oracle works too, but unless you have millions of dollars, then you're gonna want SQL server. I don't know anything about mysql except that it doesn't support stored procedures; you're gonna want those.
Quote:Original post by The Reindeer Effect
I'm not so sure of the necessity of a relational DB for a MMORPG ... could someone explain to me why it is needed?

And I am not talking about persistant data storage in general, but it seems like alot of hassle for a non-transaction based system. I mean, a MMORPG is pretty much a large physics simulation, not some goofy merchant website.


SQL servers are fast, reliable, and available.

I think you vastly underestimate the amount of data storage and retrieval necessary for an MMORPG. MMORPGs are persistent. To maintain the persistent world you need persistent storage. What better way to achieve persistant, real-time storage than an ordb?

[Edited by - smr on November 15, 2004 11:06:55 AM]
Quote:Original post by The Reindeer Effect
I'm not so sure of the necessity of a relational DB for a MMORPG ... could someone explain to me why it is needed?

And I am not talking about persistant data storage in general, but it seems like alot of hassle for a non-transaction based system. I mean, a MMORPG is pretty much a large physics simulation, not some goofy merchant website.


Lets say my player / account class is 100 bytes in length. Now lets say there are 10000 accounts, thats nearly a meg of data, of which only 90% is needed at one time. This data isn't needed until a player attempts to log on, so why waste that precious memory. Databases also make backing up the world a breeze.
i'm going to recommend MySQL. from what i hear, it is just as fast or faster then any commercial database. and its free! (i just started using this a few days ago though - i may be wrong). you can't beat that.

also, whoever said MySQL can't do stored procedures is wrong. they are definetly possible with MySQL.

im working on a small scale persistant online RPG, and it was very easy to set up the MySQL server, pretty much just as easy as installing any program. setting up the library to work was a little bit of a pain, but i eventually got it to build. i use MySQL++ which is a simple wrapper around the MySQL C API, which basically makes dealing with the database as simple as dealing with a STL container. for example, heres a quick program i just wrote for testing purposes. it adds a new account to my account table.

#include "util.h"#include <mysql++.h>#include <iostream>#include <iomanip>#pragma comment(lib,"libmysql.lib")#pragma comment(lib,"mysql++.lib")#pragma comment(lib,"wsock32.lib")using namespace std;int main(int argc, char *argv[]){	mysqlpp::Connection con("ftadb","127.0.0.1","root","notmyrealpassword",3306,1);			mysqlpp::Query query = con.query();	query << "INSERT INTO T_AC_ACCOUNTS (username, password) VALUES ('somenewuser','somepass')";	mysqlpp::Result res = query.store();	return 0;}


pretty simple, no?
FTA, my 2D futuristic action MMORPG
Quote:Original post by graveyard filla
also, whoever said MySQL can't do stored procedures is wrong. they are definetly possible with MySQL.


I stand corrected. When did they get around to adding sp support?
Quote:Original post by smr
I stand corrected. When did they get around to adding sp support?


Version 5.0, which is pretty new.

I would also recommend mySql. It's easy to set up, has excellent documentation (almost unheard of in free software), and works as advertised.

This topic is closed to new replies.

Advertisement