Oracle FAQ Your Portal to the Oracle Knowledge Grid

Home -> Community -> Usenet -> c.d.o.server -> Re: Oracle Innobase Purchase Impacts MySQL.

Re: Oracle Innobase Purchase Impacts MySQL.

From: Paul <>
Date: Wed, 19 Oct 2005 11:05:31 +0100
Message-ID: <>

"Joel Garry" <> wrote:

> >Just to be very clear. Interbase has an MVCC paradigm.

> And Innobase is at least one way better than Oracle's, see
> .

From that site(*)

Looking at :

"they [undo log records] can be discarded only after there is no transaction present for which InnoDB has assigned a snapshot that in a consistent read could need the information in the update undo log to build an earlier version of a database row."

Suggests that, rather than throw the Ora-1555, Innodb will just keep growing the undo log.

"Also, a deletion is treated internally as an update where a special bit in the row is set to mark it as deleted."... "Only when InnoDB can discard the update undo log record written for the deletion can it also physically remove the corresponding row and its index records from the database."

The delete processing could offer performance improvements in some circumstances. Nothing that couldn't be duplicated outside of the standard database functionality. Don't know whether Oracle would have any interest in using it.

I don't see that InnoDB has anything amazing on the surface that Oracle doesn't have. It is possible that under the hood there is some snazzy little algorithm or two which Oracle likes the look of (and since it is Open Source I'm sure that some-one at Oracle was paid to have a good look). Maybe even one that was worth the money for buying the company rather than a licensing arrangement.

Maybe they just wanted to make sure that InnoDB MVCC stuff couldn't be licensed or bought up for inclusion in, for example, SQL Server.

Now take a look at

Note the (remarkable) similarity in language. Seems that Interbase has been doing this for 20 years.  

> Anyways, just having MVCC doesn't mean the implementation is good. I
> have no clue about this other than how Oracle does it,

Check out the URL, the article's title is "A not-so-very technical discussion of Multi Version Concurrency Control", so it's an easy-peasy read, and not too long, and with a better implementation than Oracle's.

> and that
> SqlServer hasn't got it right yet. I would hope Interbase does it
> right, too, which would help keep it out of the t*y category.

Well, it's being doing that since day one. There is a lot of debate on the Interbase and Firebird groups as to why it/they are not taken more seriously on the overall db market (share is rumoured (difficult to get anybody who would be in a position to know to cough up real figures) to be 2%).

There are perhaps two or three reasons for this.

  1. FoxPro, dBase and Paradox - there were various wars between Ashton-Tate, Borland and the makers of FoxPro (later taken over by the Great Satan (tm)). Ashton-Tate purchased Interbase (previously Groton Database systems), but were more of a desktop db company than a fully-fledged db server company - basically Interbase, while not dropped, didn't receive the highest priority it could have.
  2. Borland purchased Ashton-Tate. The desktop db war was still on, so Interbase was again neglected - not totally, but did not recieve "full-on" development focus.
  3. When Borland *_did_* market it, they made (IMHO) the crucial mistake of over-emphasising that it was an embeddable db that one could install and forget (which it was), but didn't emphasise enough its very real capacities to be a full-on entreprise level db server - it was just one that didn't require a full time dba. Ironically, in stressing one of its advantages, it was shooting itself in the foot in another area.
  4. The other mistake Borland made (similar to 3) was in emphasising how you could run Interbase on any old piece of hardware and performance would be fine. This was true, however when your db server is running on the Windows 3.1 machine that the secretary also types her letters on and drinks coffee over, and that has a lead that people can trip over and unplug the machine, the server will go down and rebooting will be needed (although with very little data loss, thanks to the architecture). This led to something of a reputation (undeserved) for unreliability. Again Borland shooting itself in the foot by over-emphasising the wrong feature in the db.

If they had said "This is a proper db server and needs to be treated as such" - i.e. decent machine, air-conditioned server room, UPS and battery backed up disk cache", then it could have made a much bigger niche for itself as a "serious" contender - perhaps on a level with Sybase or bigger.

The final mistake Borland made is related to the other two above, it was more interested in marketing its development tools (Delphi, C++, TurboPascal and desktop databases (Paradox and/or dBase) rather than concentrate on Interbase as a core part of their business as a serious db server and not just "Oh, yeah, you could also embed with Interbase if you really want to..." attitude which was implicit in their marketing "strategy".

Then of course came the OpenSourcing débâcle, where Borland (late 99, early 2000) tried to hop on the band-wagon (remember VA-Linux?), which kinda showed where they stood with respect to Interbase as a serious product offering. If OpenSourcing was such a great idea, why didn't they propose doing it with Delphi or JBuilder? You can read all about that on where the history of that is well explained.

Since, Borland have readmitted Interbase to their fold as closed source, and made some interesting additions.

Hope I haven't bored you, just wished to point out why Interbase is definitely not a toy and possibly give a reason as to why it's not as widespread as it should be.


> jg

(*) like the site, but why does the guy have to repeat all the points in every subsequent post - irritating, although it does make a web forum easier to read - but I *_WAY_* prefer newsgroups.


plinehan __at__ yahoo __dot__ __com__

XP Pro, SP 2, 

Oracle, (Enterprise Ed.)

When asking database related questions, please give other posters 
some clues, like operating system, version of db being used and DDL.
The exact text and/or number of error messages is useful (!= "it didn't work!").
Furthermore, as a courtesy to those who spend 
time analysing and attempting to help, please 
do not top post.
Received on Wed Oct 19 2005 - 05:05:31 CDT

Original text of this message