[web] Choosing database

Started by
5 comments, last by landlocked 12 years, 11 months ago
Hi. I have an idea for a game that will require information from a database frequently. Multiple users will be requesting statistics from the database. It would be nice if the information given is constantly updated, but that might require a lot of bandwidth for the server. I could also make closing statistics for each day or week, similar to how closing prices are done for stocks. This should reduce needed requests from the server.

Anyway I'm looking into using SQLite for this, but I read that if I need multiple people to access the same database, SQLite is not the best option.

To be honest I'm not very experienced with databases so be patient with me please. Thanks
Advertisement
mySQL (http://www.mysql.com/) might be a good option. It is free, open source, and is used by real corporations.

Check out http://en.wikipedia.org/wiki/MySQL it goes to explain what mySQL can do (which just so happens to meet your needs).

[font=sans-serif][size=2]
MySQL is used in some of the most frequently visited web sites on the Internet, including Flickr,[sup][7][/sup] Nokia.com,[sup][8][/sup] YouTube[sup][9][/sup] and as previously mentioned: Wikipedia,[sup][10][/sup] Google[sup][11][/sup] and Facebook.[sup][12][/sup][sup][13][/sup][/quote][/font]

If you have any other questions let me know. I have experience with mySQL.


Hi. I have an idea for a game that will require information from a database frequently. Multiple users will be requesting statistics from the database. It would be nice if the information given is constantly updated, but that might require a lot of bandwidth for the server. I could also make closing statistics for each day or week, similar to how closing prices are done for stocks. This should reduce needed requests from the server.

Anyway I'm looking into using SQLite for this, but I read that if I need multiple people to access the same database, SQLite is not the best option.

To be honest I'm not very experienced with databases so be patient with me please. Thanks


SQLite is not purposeful for this task. As stated MySQL is a popular option.

But I heard from others and read a post here about MySQL has a poor writing performance. PostgreSQL is recommended but to be honest, I personally wonder versus results too.
MySQL might have poor writing performance - but that is irrelevant. The question is about whether it will suffice for the OP.

I think it will, unless the OP is expecting the service to become incredibly popular quickly. If you don't have experience with databasen, then that will likely be the cause of your bottleneck, not MySQL.
MySQL would be a perfect start. It supports the most common SQL syntax and stored procedures (which I highly recommend anyone doing SQL work to use).

If down the line your game takes off and you need more power, you can always switch to a different RDBMS that fits your needs. That is also why doing stored procedures would be a great approach as it abstracts the actual SQL implementation from the game logic. Build a little wrapper around all your data access and you now have a component that can be swapped out at any time.

Dino M. Gambone
Good judgment is gained through experience. Experience, however, is gained through bad judgment.

Currently working on Rise of Praxis MUD: http://www.riseofpraxis.net/

I'd recommend PostgreSQL over MySQL, they focus more on doing things properly (e.g. being careful not to lose or corrupt your data). MySQL has a whole lot more people using it which might seem useful when searching for help, but it also has a whole lot more people using it who are *bad at database development* and will give bad advice. The PostgreSQL mailing lists can get responses from the actual developers in minutes (as long as you RTFM and don't walk in with an attitude problem).

Or if you are running a Windows server then MS SQL Server has a free Express version. Microsoft does offer some of the best development tools around, and if you are used to the Microsoft way of doing things it's probably the easiest to configure etc.

Any of them will allow you to do what you want, but require a bit of learning to get it done. Or you could find someone else to do it for you, tuning / optimizing a database is completely different from normal programming.

Just my 2 cents.
--- krez ([email="krez_AT_optonline_DOT_net"]krez_AT_optonline_DOT_net[/email])
MySQLs performance issues asside, you really do need to consider what you're doing exactly and what your budget is. Another possibility is MS SQL Server. It comes out of the box with analyzers, performance tuners and advisers and graphical tools to help you manage your database on top of being an extremely performant database solution with some features that even MySQL doesn't have. So, if you're coming at this with some organization and funding then going the MS SQL route may be the better investment long term. I won't recommend Oracle because their pricing is plain ridiculous, LOL.

Edit: Just realized a necro'd a thread. /fail :lol:
Always strive to be better than yourself.

This topic is closed to new replies.

Advertisement