Databases Get Interesting (well almost)

I reported a couple of issues ago that database mega-corp Oracle had bought open source embedded database manufacturer Sleepycat. In fact this was the second recent acquisition of an open source company, because last October it bought an open source company called Innobase.

The acquisition of Innobase, which I managed to miss at the time, is even more significant than the Sleepycat purchase, because Innobase created the most robust and popular transaction engine for MySQL.

The term 'transaction engine' is probably geek gobbledy-gook to most of you, so I guess I'd better explain.

Most of the big databases in the world are what is known as 'relational' databases. Like all databases they store data in a format where, if the programmer has done his work properly, any arbitrary piece of data can be retrieved rapidly. (By the way, people who program databases tend to refer to themselves as 'database architects'. I think this is because it sounds more glamorous than being a mere programmer.)

Lots of databases can perform this piece of wizardry, but relational databases have proved to be able, in general, to do it more efficiently, so they are what is used most often, and the relational database language SQL is the one most often used to extract information.

However, while retrieving information fast is a necessary condition for any self-respecting database, it isn't really sufficient if the database is going to be used for any significant commercial application.

Let me give you an example.

Suppose you instructed your bank to make a US$500 donation to ibgames (because its online game, Federation II, which I wrote, is fabulous, dazzling, brilliant and real cool, and you want to help support it). Anyway, your bank needs to do at least three things to complete the transaction. It has to debit your bank account the US$500, it has to credit ibgames account with US$500, and it has to write the details of the transaction into the audit log in case there is any question about the payment ('transaction') at a later date.

Easy I hear you say - three lines of Visual Basic, it's a snip - what's the big deal?

Ah! But there are three separate things to be done here - what happens if there is a crash immediately after the money is deducted from your bank account? You lose the US$500, ibgames goes bust for want of the US$500, and the bank is smiling all the way to its bank (until the class action law suite arrives, that is).

Preventing this from happening is the job of a piece of software known as the transaction engine. A transaction engine is one of the most difficult pieces of software to write, and Innobase (Remember them? This is a piece about Innobase.) wrote the transaction engine used by the top open source database, MySQL.

Ooops!

Obviously it's not good for your biggest rival to gain control of the company that wrote your transaction engine, although, being open source, Oracle can't just kill the product. Understandably, MySQL are starting to look elsewhere for a transaction engine, having already rebuffed Oracle's overtures.

Enter Netfrastructure. MySQL's first move has been to acquire this company which makes tools and server software for web-based application. The consensus is, though, that the reason for this acquisition is not the company's product, but to get Netfrastructure's founder, relational database guru Jim Starkley, to work on developing MySQL's own transactional engine. If the rumour mill is correct, that's a wise move!

Meanwhile, Oracle, who are not short of a dollar or two, are not standing still. Persistent rumours abound that they are looking to buy Zend Technologies. Zend's PHP-based Zend Engine is one of the most popular open source web site back ends, and is capable of using a wide range of back end databases. Only this week, Zend announced that they had upgraded the ability of their engine to work with Oracle databases, provoking a new crop of rumours.

Databases are generally considered to be a pretty boring topic, but what is happening in the database market at the moment will have tremendous implications for the future way in which open source and proprietary software interact. For the ultra-hard-line open sourcers, these acquisitions mean that the end is nigh, but I don't think that's the case. It was always unlikely that open source, which I wholeheartedly support and use all the time, would remain in some sense 'pure' once it became mainstream. It was bound to start interacting with commercial software and the line would start to get blurred. We have yet to see where this will all end, but I suspect that it will result is a balancing act between the two types of software.

In the meantime, I have to confess that I'm impressed with Oracle's strategy for dealing with open source challenges to its position, which is much more subtle (not something I normally associate with Oracle) than Microsoft's attempts at sowing fear, uncertainty and doubt. I wonder how many more commercial software makers will seek to emulate Oracle's example over the next few years?

http://www.regdeveloper.co.uk/2006/02/28/zend_oracle_database_php/
http://newsletter.infoworld.com/t?ctl=112BB59:1F69382
http://www.theregister.co.uk/2006/02/15/oracle_buys_sleepycat/
http://ct.techrepublic.com.com/clicks?c=1507010-7863277&brand=techrepublic&ds=5&fs=0
http://www.oracle.com/innodb/index.html

Alan Lenton
5 March 2006


Read other articles about computers and society

Back to the Phlogiston Blue top page


If you have any questions or comments about the articles on my web site, click here to send me email.