Lots of my friends and colleagues use various different databases for different things, as do I. One thing that I keep coming across is people using MySQL. I’ve never much liked MySQL; its transaction system is fairly new and is not enabled in the default table type, it’s really fast for read queries but slow for writes, the online documentation covers the beta version so it’s not necessarily in sync with the stable releases, and I distrust their somewhat ambiguous, non-OSI-approved license.
I’m of the opinion that if you need something small and fast, SQLite. If you need something bigger than that, PostgreSQL. If you need something really big, Oracle or DB2.
I’ve come across enough technical and philosophical problems with MySQL that I no longer endorse its use. It’s unfortunate that so many people write software that only works with it, including the software that powers this website, Textpattern. But I don’t write or maintain Textpattern’s code, nor do I maintain its database. I leave that up to the more-than-competent administrators who run this fabulous web hosting firm known as TextDrive.
Here’s a little document I came across that has a feature comparison of several top databases, and from a cursory look it appears to be pretty complete.
I’m going to keep adding stuff to this entry as I feel and find it, so I’ll have somewhere to which I can refer people when they say, “Why don’t you like MySQL.” Keep your eyes peeled.
Update: Jan 19, 2005
A friend of mine pointed me to this list of MySQL gotchas that’s pretty telling, too. Although I’m not as staunchly anti-MySQL as I used to be; I’ve been using it for a couple of projects where it was the default and I didn’t feel the need to invest the time in a better solution and it’s not as bad as it used to be. And it is pretty fast, despite its other glaring flaws. I still don’t consider it to be an enterprise-class RDBMS, though.