What database software to use in Net game?

Started by
17 comments, last by WhiteWolf 23 years, 11 months ago
Aaah! ;]

You must be crazy to suggest MySQL for a potentially huge database backend. It''s fast, but the developers have admitted that they have had to take certain measures to get it as fast as it is: it''s not suited for databases with a lot of tables and a huge number of records. It''s not even designed to handle what you guys are suggesting it be used for, though it''s doable.

I would suggest using SQL Server. It''s very fast and very reliable; it''s been put into production use in numerous places. In addition, you can setup an NT server cluster and install Microsoft''s free WinNT load-balancing software and have the strain automatically mitigated to the most appropriate server in the cluster.

We use SQL Server where I work, so I can say first hand that it is indeed great (and fast I tell ya =P). However it isn''t free. But, if you setup the infrastructure of the game, get the graphics engine running, you can show it off to publishers, venture capitalists, or some other sort of sponsor, and get funding.

More than one real-world MMORPG uses SQL Server, by the way. ;]
Creativity is a bloody nuisance and an evil curse that will see to it that you die from stress and alcohol abuse at a very early age, that you piss off all your friends, break appointments, show up late, and have this strange bohemian urge (you know that decadent laid-back pimp-style way of life). The truly creative people I know all live lousy lives, never have time to see you, don't take care of themselves properly, have weird tastes in women and behave badly. They don't wash and they eat disgusting stuff, they are mentally unstable and are absolutely brilliant. (k10k)
Advertisement
Insane to use mySQL? well, i just have great experience with mySQL.
Currently at work we are using MS SQL Server, Informix, Oracle and mySQL for the same product and i can just tell you that mySQL beats them all! MS SQL is the one that is slowest. And we have big databases with alot of tables and complex joins over alot of tables.

So i don''t think you will have any trouble what so ever to use mySQL it will most probably work perfect for your needs.

well just my two cents.
/Andreas
I''ve developed large websites on Linux using PHP that depend on MySQL as a backend (hell, I''d rather be using PostgreSQL than MySQL at this point =P), and I''m not complaining about MySQL in-and-of itself (I''m rather fond of it).

Oracle is expensive, but rightly so: it''s an amazing product too. Consider this quote:

quote:I''ve been using MySQL for well over a year, and Oracle for several months. When I first started using Oracle, I was amazed at how little effort I had to do to make the database work fast without having to work around performance problems.

I posted about how Oracle does a Fast Full Index Scan for select clauses with "LIKE ''%foo%''" which are 3 seconds on a 333MHz Celeron and 6 minutes under MySQL on a 400MHz celeron (with more memory, too!)


While this is somewhat dependant upon his particular database setup, this demonstrates several key things: Oracle and SQL Server are more secure, more robust, and have much more musclepower behind the development.

SQL Server is ratest among the fastest performing commercial database systems; as well, MySQL doesn''t even support the full SQL language standard. MySQL has no views, snapshots, and sadly no triggers. In MIS, we use Siebel Enterprise call center for much of our ordering, customer billing and management, contract generation, and many other functions. All in all, we have hundreds of thousands of records -- possibly even into the seven-digit range. We chose SQL Server simply because it''s the right tool for the situation; MySQL wasn''t even considered because it''s core functionality is vastly limited in comparison (hence it can run pretty damn fast, since it''s not providing as much). Hell, you can use Outlook and a 2-way pager to keep track of your SQL Server databases! ;]

What''s interesting is that you can purchase 32-processor servers (hella expensive =P), and SQL Server 2000 will take full advantage of that. Indeed, SQL Server 2000 is the fastest database in the world as indicated by the Transaction Processing Performance Council (TPC). SQL Server''s speed has increased 200% on consistant annual basis. SS2K also has integrated Kerberos and delegated security features -- meaning your credentials are delegated to downstream servers. XML support, cascading DRI, UDFs... Furthermore, everyone agrees that SS''s administration tools are the best in the RDBMS crowd, and in SS2K, they reaffirm that position.

Heh, while MySQL may have performance gains, those gains are not proportional to the it''s vastly outclassed featureset.

Another quote:
quote:The amount of EFFORT to make this machine (P2 450) using MySQL do 250K pages per DAY is huge! It is doable... The EFFORT to make this machine using Oracle do 250K pages per HOUR was minimal.


Btw, Amazon runs on Oracle. ;]

In any case, I''m not doubting MySQL''s speed or stability, just that it might not be what is needed in huge traffic and extra-sensitive situations, like MMORPGs.
Creativity is a bloody nuisance and an evil curse that will see to it that you die from stress and alcohol abuse at a very early age, that you piss off all your friends, break appointments, show up late, and have this strange bohemian urge (you know that decadent laid-back pimp-style way of life). The truly creative people I know all live lousy lives, never have time to see you, don't take care of themselves properly, have weird tastes in women and behave badly. They don't wash and they eat disgusting stuff, they are mentally unstable and are absolutely brilliant. (k10k)
Point blank, if you can afford Oracle use it because it is much more robust and powerful than MS SQL Server. (think compiled Java in the database) If you can''t then SQL Server is your best compromise. I liken the comparison to VB and C++ where ORacle is like using C++ in that you can do almost anything with it but you can get yourself into trouble much faster. SQL Server is very wizard driven though it obscures the parameters that Oracle gives you to tune that extra 15% performance.

Both of these databases can handle the task you are seeking to do. They run web sites such as Amazon, Yahoo, and ESPN. If they can handle the traffic from these web sites then I am sure your game won''t be larger than this. By database standards even EverQuest is a small database. On the windows platform use ADO for access to the database. It is by far the fastest access on the platform. On other platforms it is best to get the native drivers before reverting to ODBC. If you woul dlike to discuss this further please email me. I have about 6 years of DBA work and am a certified DBA for both SQL Server and Oracle.

Kressilac
Derek Licciardi (Kressilac)Elysian Productions Inc.
quote:Original post by kressilac

Point blank, if you can afford Oracle use it because it is much more robust and powerful than MS SQL Server. (think compiled Java in the database)


Too bad Oracle''s licensing terms are so damn horrible. They charge according to processor power, which in my opinion is perfectly ridiculous. Can you imagine the consequences of upgrading to a faster server? I''ll bet the Oracle people would ask for more money even though the software remains the same.

I design POS systems, and recently we began developing a net delivered application, using SQL on the servers. I have found that Interfacing SQL with any visual Studio language is effective and easy to integrate. If your creating a genuine "A" class game, I would strongly recommend using a higer end product such as SQL Server or Oracle as opposed to the freeware that everyone likes to tout so much.

What is a man without goals? A dead man.

---------------------------Hello, and Welcome to some arbitrary temporal location in the space-time continuum.

You''re right, but what if the game server doesn''t run on the same platform as the database server? ;-)

quote:Original post by Anonymous Poster

To be honest with you I don''t really know whether PostgreSQL supports ODBC or Win32. It''s quite irrelevant in this case, as it''s not a good idea for a multiplayer game client to interface directly with the database backend. Only the game server should communicate with the database system. The server and database system run under Linux (no need for ODBC) while the client runs under Win32. Because the client uses a custom protocol to communicate with the game server, there''s no need for database connectivity within the client.


Judging by the original post, he needs just a system to store the data in, and does need to do anything fancy with it. He needs a fast, cross-platform, synchronized/indexed filesystem -- I suggest mySQL.

If you are doing this professionally, though, and you have the money to burn, I suggest Oracle for its reliability.
noone ever got fired for using Oracle

if you want something free, use PostreSQL - it handles nice things like transactions

This topic is closed to new replies.

Advertisement