April 20, 2004
Open Source Databases vs Oracle
Courtesy of PHP Everywhere: a nice discussion of the merits of MySQL, PostgreSQL and the old stagers themselves, Oracle.
All interesting stuff and well worth the read. Ken Jacobs quite rightly says that MySQL is missing some features that have been in Oracle (and PostgreSQL) for quite a while (triggers and views in particular). He says that these features are necessary for "enterprise applications" but misses that point that not that many people are building enterprise apps these days. Those that are generally use object oriented programming languages and object relational mapping tools. Which move the focus of your logic from the database to the application layer. Meaning that you can cope without these advanced features in your database and forgo the cost of the Oracle licenses.
I'm not saying that this is always the right approach, but it's certainly cost effective. I'm not a fan of simply using the database as an object store - as mentioned here - but if that's your architecture choice then there it doesn't matter a lot which database you use.
Just steer clear of DB2 UDB ;-)
Posted by Andy Todd at April 20, 2004 08:51 PM
MySQL always seems like something of a strawman in the proprietary-vs-open-source question. If you're looking at proprietary databases, PostgreSQL is the real competition. But MySQL is usually what people bring up -- MySQL fans love to tout its wonders, but I think their real love is from a complete open source / unix toolkit, of which MySQL is usually a part. And it is a good database from a maintainability and predictability point of view, in my experience -- there's a reason you can get cheap web hosting with MySQL, and not so much with PostgreSQL (and certainly never with Oracle).
Having now implemented the Roundup hyperdb (a generalised relational store) over sqlite, mysql and postgresql, I can definitely agree with the sentiment that MySQL is an easy target. It might be popular, but I suspect that its popularity stems mostly from its prevalence on Linux distributions and ... well, its popularity.
Postgresql on the other hand feels much more like a real RDBMS, given that I learned about such things on Oracle...
Nice iSeries. Don't listen to the nasty man.
DB/2 UDB worked OK for us except one thing. The "U" in UDB stands for Universal, but the SQL syntax, datatypes and details of the locking model are all different between the PC and iSeries. This required modifying or re-writing every single one of our entity EJBs half-way through the development cycle.
Bleah on marketing.
Stick to standard SQL then, Alan. ;-)