Which Database is Right for You?

If you can choose your database, you're lucky: few hosts offer anything more than MySQL. If you're doing things yourself, though, or you have one of those rare hosts, then you might find that you need to weigh up the positives and negatives of different database software. MySQL MySQL is the most common database software for small websites, but is laughed at in the rest of the industry. It's fine for simple insertion and retrieval of data, but if you start trying to do anything more advanced with it, you're going to start running into problems. So what doesn't MySQL support? Today, MySQL doesn't support views ('virtual' tables made from other tables), stored procedures (small programs that can be stored in the database) or triggers (actions that the database can be told to do automatically when certain things happen). However, many of these features are promised in future versions. What does MySQL have going for it? Well, for one thing, it's free, and it's the most-used database on the web. The database has speed, simplicity, and a no-nonsense attitude on its side. MySQL is usable with a lot of different programming languages instead of being artificially restricted, and runs on a lot of operating system. There's no shortage of big websites using MySQL and doing just fine: CNet and Friendster spring to mind. Visit www.mysql.com for more information. PostgreSQL MySQL's biggest open source competitor is PostgreSQL (www.postgresql.org). It's often considered to be a better database overall than MySQL, and yet it has a much smaller market share. It a more established and mature database than MySQL, with roots in the early '80s compared to MySQL's start in the mid-'90s, and is also released under a more flexible license. The biggest strength of PostgreSQL is that it lets the database do more of the work: you define rules to say how your tables relate to each other, and PostgreSQL 'understands' and make things easy on you. It supports all the latest standards and features, making it a much better choice as a drop-in replacement for an expensive enterprise database than MySQL is. Microsoft SQL Server Microsoft's SQL Server supports lots of extra features that other databases don't - because they were entirely made up my Microsoft. There are two reasons why some people use SQL Server: first, it works well with IIS and ASP, and second, it works graphically instead of using text. However, as with most Microsoft products, security has proved to be SQL Server's weak point. Back in 2003, the Slammer worm demonstrated how insecure the software is when it spread between servers using a vulnerability in SQL Server. The problems caused were bad enough that the entire Internet actually slowed down, and although Microsoft says it has committed to improving security in all its software, it remains to be seen whether something similar might happen again. Oracle Oracle is widely considered to be the best database out there. It's a very old, stable database, and is the most-used in big enterprise operations, mainly because it's so much faster than anything else out there. Oracle works on lots of different operating systems, and has support for lots of interesting features like Java and XML. Oracle offers a lot of documentation and support on its website and, despite what you might think, is usable with languages like PHP. People used to avoid Oracle because it was wildly expensive compared to other database soft out there, but Oracle now makes a 'Standard' version available for around $150 per user - quite comparable to Microsoft's SQL Server. At this point, the only reason not to use Oracle is that you want your database to be entirely free - you'd be a fool to choose SQL Server instead of this, for sure.