Here's a remarkable tale about a company that replaced an Oracle database cluster with a few Linux servers.
The great thing about this story is that the Linux servers did not run database software. The Oracle database had been converted and stored on the Linux hard disk as a collection of some 100,000 files. The work was part of a major application upgrade that involved redesigning all the components of a busy web site.
It's a stunning tale, but it's obviously an exceptional case. There's absolutely no suggestion that Oracle databases are old, slow, poor or anything else of the sort.
But this story shows how design decisions taken a few years ago can rapidly be undermined by new technologies. In this case, the original site served pages from an Oracle back-end via J2EE middleware. The new system uses a Linux back-end and Java XML middleware. First time round, Oracle and the J2EE framework were the best choice, but a few years later Java and XML had matured. The redesign enabled some 40,000 lines of J2EE code to be replaced by 5,000 lines of Java/XML.
The Oracle replacement was another spin-off from redesigning the middleware. This time it was enabled by the Reiser File System (ReiserFS) - a relatively new development that is already the default in Suse, Lindows and Gentoo Linux, largely because it's a journaling file system, so it doesn't lose data following "unplanned outages". Linux servers don't crash very much, but power fails sometimes, so a robust file system is a definite advantage.
ReiserFS uses an improved version of the same basic tree indexing scheme as some database engines. Thus ReiserFS is often very fast and efficient compared with the traditional file systems of Linux and Windows. Of course, for most datasets and applications it's probably not as fast as Oracle's sophisticated database cluster. But in this case a bit less performance was acceptable, and the new option of ReiserFS contributed to the demise of one underused Oracle database.
One might imagine switching from an Oracle cluster to a Linux file system produced huge cost savings, but it's not that simple. The money saved was in fact used to pay for two new staff - software developers who also contribute to the open-source application server used in the new Java XML architecture.
So the decision to move away from Oracle and J2EE was not driven simply by costs. Here, the web site is the firm's core business, and fixing the feature set and technical agenda of its core business to one supplier seemed a poor choice. Now the firm has influence over the features and direction of the application server.
None of this is to disparage other Oracle databases, and this is not a tale about open source versus commercial software. Rather it's about choosing the best technologies available, and re-examining those choices from time to time.
ReiserFS is unlikely to be the ultimate file system. It will probably soon seem old hat compared with the next big thing. My vote would be for something like Coda - a research implementation of a fault-tolerant, distributed file system for long-latency IP networks. Meanwhile, keep building and rebuilding - cut costs and prosper.






Do you agree?
Have your say on this article