Imagine for a moment that you're the head of the market leading database management system company: you're a charismatic industry figure; the future's so bright you've got to wear shades, as the song says. Then along comes a new software technology pitched aggressively against yours. Academics, journalists, users - they all start giving you needle about how old-fashioned your engine is. You fight it off as long as you can, secure in the knowledge that your market share is unassailable. Then one day it all comes to a grinding halt: you ring up the Wang brothers at Computer Associates International Inc and say, My name is John Cullinane and I think we need to make a deal. That's what happened to Cullinane's company Cullinet Software Inc, whose IDMS Codasyl database was IBM mainframe (and ICL) supremo until the rising tide of relational theory swept companies like Oracle Corp, Ingres Corp and Sybase Inc to their current supremacy. In the early 1980s Cullinane led a hopeless fight against relational theorists like Ted Codd and upstarts like Oracle, arguing first that relational was too slow, then the companies offering the software were too small to support users, and most humiliating of all, and too late, his software could become born-again relational. Then in 1984 IBM launched relational DB2, Oracle overtook Cullinet in size - and by 1988 it was over.
That was history first time round, played, as Marx said, as tragedy. Larry Ellison, head of Redwood City, California-based Oracle, has a nightmare that history will repeat itself - only this time the rising tide of object-oriented software will render his company impotent. Ellison took stage at the European Oracle User Group in Cannes last month to reassure his users that the same wasn't going to happen to Oracle. The real challenge to our industry isn't architectures, graphical user interfaces or networks - it's fundamental changes in database technology itself. To get all of our data onto the large scale, massively parallel servers which will become the mainframes of the 1990s is beyond what the relational model can cope with. So starting with version 7 of the Oracle database management system and in a process which will be largely over by version 8, we will offer support for the complex objects, engineering diagrams and full motion video users will need. Note that I didn't say relational, he added. Just what is Ellison offering here? Oracle will add object capabilities to the relational database but users will not have to change a single line of code therefore it cannot be a radical rearchitecting of the underlying engine and must be some sort of extra layer. Ellison argues that users need their investment protected, and that there is much that is valuable in the relational model that must be preserved. The new generation of object database companies have forgetten all the wonderful things about relational - like non-procedural languages, database independence, ad hoc enquiry, schemas. Our job as a vendor is to make the technology as accessible to customers but preserve their investment and transparently move to objects without changing a single line of code. So Oracle will somehow extend or evolve from relational to objects but remain largely relational? This begs two questions - one, why bother at all, and two, how can this paradigm shift happen so painlessly? Ellison's answer to the first is that a new class of problems that are difficult to solve in the relational model, like multimedia, provide an excellent opportunity to move the model on.
By Gary Flood
Ellison's well known fascination with massively parallel computing rears its head here: he told users that the future (mid-1990s) computing model will be based on hand-held and pen-based clients accessing huge public information databases by radio (he neglected to mention his investment in parallel manufacturer nCube Inc and Oracle's recent alignment with McCaw Cellular Communications Inc), and that relational can't cope in such a universe. To the second, Ellison promises users will have two
views into data, relational and object. 90% of code is common between relational and object, and in terms of disk management and networking needs they're very similar. Cullinet could have beaten us in the marketplace if they'd evolved their technology and taken relational seriously. IBM has had 30 years of evolving technology like this, as Intel has moved gracefully from the 8086 and will soon have the 80586, he says. There will be one company and one database, with common transaction management and security features, but two windows into that data, relational and object, with another schema based on the object extensions to SQL Oracle has been working on for the last two years, he claims. The long delayed version 7 of the database will have some object-like features, such as stored procedures which will act like object messages and some means of providing encapsulation. In strict object-oriented terms encapsulation means a form of information hiding, or how the internals of a piece of code or part of a system are made invisible to other parts of a system and are only accessible via a defined interface. It will also hold large bit streams, Binary Large Objects, the so-called poor man's objects offerd by some other vendors such as Ingres and Informix Software Inc. Users are still on version 6: Ellison now admits he made a mistake by holding onto version 7 for so long, and that it should have been released in two chunks - We had cracked referential integrity two years ago. Anyway, version 7 will finally be released sometime this summer - Oracle says you can have a beta version now if you ring them up - and in 7.1 users will have a very fast access method for storing a high level Object SQL applications programming interface; by version 8, which on past form may be as released as much as two years after 7 goes into production, developers will be offered inheritance and class hierarchies, as well as a separate object level schema and a programming interface at a higher level than SQL, Object SQL. Ellison also sees Oracle getting the world to accept his Object SQL as the industry leader in the same way that IBM got the world to buy into SQL itself, which had many technologically superior rivals such as Ingres' query language at the time but which became de facto standard. This may be somewhat of a surprise to the Object Management Group, which tends to the democratic, never a political style that has particularly appealed to Ellison, and which seems unlikely to roll over so easily and agree to this. So objects uber alles, Larry? Not that simple, it turns out. Actually Ellison sees object orientation as being at the same stage as Oracle was in 1979 when it started - a neat tool but not for grown ups.
Before 4GLs and report writers, relational databases were just a nifty little bit of software. Without an object database and an object report writer and all the other tools, objects are the same. Users should not mess around with this very immature technology. It's not for little children. Anyone who wants to build mission-critical applications in C++ is on drugs. What is the world to make of all this? On the one hand, a company as big as Oracle coming out for objects is a fantastic boost to the take-up of the technology, and to the efforts of bodies like the Object Management Group. On the other, Oracle is one of the greatest exponents of software marketing nous: Ellison is jumping on the right bandwaggon at about the right time with the simultaneous message - Objects are great and we'll offer them/Objects are scary so don't dump relational. But Oracle going objects can't be a bad thing. Just remember two things. Only 7% of the world's computerised data is even relational yet - the rest is still on IDMS and IMS. And Larry doesn't want history to repeat itself as farce - a farce we could all enjoy at his expense. Imagine for a moment you're the head of the market-leading database company...