Problem solve Get help with specific problems with your technologies, process and projects.

Guest editorial: Time to consider open source alternatives to Oracle?

This die-hard Oracle fan is seriously considering open source alternatives such as PostgreSQL and MySQL.

There are a lot of us who consider working with Oracle a higher calling. I for one have spent the last 20 years of my life with Oracle. But have we been too dedicated? How many of us have taken a tour of the Grey Side? No I'm not talking about the Dark Side of DB2 or SQL Server, but the Grey Side of open source.

Certainly Oracle is the Cadillac of database management systems, but it comes at a platinum price. I'm sure you've heard Oracle's mantra of running 10g on "commodity" Linux servers. Well, that's a good idea. A good Intel-based server can be had for $3,000-5,000. Add in a copy of Red Hat Linux for $1,000 and you've got a server. Now you want to add in a copy of Oracle? Well keep your wallet out because that's going to set you back $15,000-40,000 depending on which edition you get -- Standard or Enterprise.

Of course there's more to licensing Oracle than that, but consider this: didn't you load Red Hat Linux on those servers? Did you know that there's a free open source database system included? It's called PostgreSQL. Want to store normalized data, create stored functions, store Java or C code inside the database and even use a PL/SQL equivalent? It's all there already without you asking the boss for a dime.

You might even find a copy of another database engine on those CDs called MySQL. MySQL, although apparently the advertised preference of many web sites (I seriously wonder about that though), has a significant number of holes. Of most importance is their native lack of ACID compliance. Sure you can add in InnoDB support (also open source), but then you have to remember to specify that when creating a table. ACID compliance is a core functionality of all other databases. It's what guarantees that a transaction is complete. Take the case of transferring funds between bank accounts. We assume that the "add to the target account" action happens in conjunction with the "debit on the source account" action and that the source has sufficient funds available. Without ACID compliance, each action is a separate transaction. If one succeeds and the other fails, that's OK with MySQL! MySQL also has no roll forward recovery. Your last cold backup is as far as it goes.

Now let's do give credit where credit is due: MySQL is FAST on data retrieval and the company supporting MySQL is committed to retaining that at all costs. But in my mind, what use is a fast query engine if I can't guarantee data integrity? A right answer is always better than a questionable answer given in half the time. Also there's the question of cost. MySQL runs under a dual license. Use it for non-commercial purposes for free. Use it for a commercial purpose and MySQL AB wants their half pound of flesh. And what is or is not a "commercial purpose" is subject to interpretation.

In contrast, PostgreSQL can be had for free no matter what the application. Add in PHP and Apache, also on that same CD, and you've got the makings of a free, open source web site. Try to do that as cost effectively with Oracle and 9i AS! True, Oracle has a lot more to it, but open source is catching up. PostgreSQL 8 has tablespaces, roll forward recovery, inheritance, international character support, and even time zone support. Now I'm not saying that PostgreSQL is a replacement for Oracle, but it's gotten to the point where one really needs to take a careful look. So come on in, the waters fine!

Dig Deeper on Oracle on Linux

Start the conversation

Send me notifications when other members comment.

Please create a username to comment.