views:

259

answers:

5

I and two others are working on a project at the university.

In the project we are making a prototype of a MMORPG.

We have decided to use PostgreSQL as our database. The other databases we considered were MS SQL-server and MySQL. Does somebody have a good reference which will justify our choice? (preferably written during the last year)

+1  A: 

Go with something that someone in your team has actual experience of using in production. All databases have issues which frequent users are aware of.

I cannot stress enough that someone in the team needs PRODUCTION experience of using it. Not using it for their homework, or to keep their list of CDs in.

MarkR
+3  A: 

the most mentioned difference between MySQL and PostgreSQL is about your reading/writing ratios. If you read a lot more than you write, MySQL is usually faster; but if you do a lot of heavy updates to a table, as often as other threads have to read, then the default locking in MySQL is not the best, and PostgreSQL can be a better choice, performance-wise.

IOW, PostgreSQL scales better regarding to DB writes.

that's why it's usually said that MySQL is best for webapps, while PostgreSQL is more 'enterprisey'.

Of course, the picture is not so simple:

  • InnoDB tables on MySQL have a very different performance behaviour
  • At the load levels where PostgreSQL's better locks overtake MySQL's, other parts of your platform could be the bottlenecks.
  • PostgreSQL does comply better with standards, so it can be easier to replace later.

in the end, the choice has so many variables that no matter which way you go, you'll find some important issue that makes it the right choice.

Javier
MMORPG are more similar to web apps than enterprise applications, in that they must support high-concurrency as opposed to generating massive reports from data warehouses
Eran Galperin
in number of queries/sec you're right, but both MMORPG and 'enterprisish' apps have a much higher write/read ratio than web apps.
Javier
So what about webapps that requires to do alot of write (e.g social networking) ? Should it go with MySQL or Postgres then?
jpartogi
AFAIK, social networking webapps aren't to DB intensive if you do your caching correctly. you'll get far more performance benefits from choosing the right memcached key schemes than from the exact DB engine.
Javier
+1  A: 
alexmac
+4  A: 

Someone recently recommended me wikivs.com: MySQL vs. PostgreSQL - it is a quite detailed comparison of those two, and might be of help to you.

conny
A: 

Postgresql has a page of case studies that you can quote and link to.

Really, any of the above would have worked for you. I personally like PostgreSQL. One solid advantage it has over MSSQL (even assuming you can get it for "free") is that PostgreSQL is non-proprietary. If you're going to introduce a dependency into your project (and re-inventing an RDBMS would be crazy), you don't want it to be a black box.

Neall