Friday, March 6, 2009

Oracle Essentials - Oracle is old

Enjoyed 2 days off in the Ardennes in the woods around Saint-Hubert, I took a book along that was already a couple of months on my bookshelf: Oracle Essentials 4th Edition. Triggered also by a customer looking into Oracle Advanced Queueing (AQ).

Nice book, giving a good overview of all the features available in and around the Oracle database. Obviously the book doesn't go into every detail, but it does give a good overview or "refresh".

While reading the book, I came to realize that the Oracle database is 28 years old! I still remember starting my career in September 1987, developing with the Informix database and 4GL on NCR Unix servers. Informix, together with Progress, was a major competitor of Oracle at that time.

Only in 1995 I really worked with Oracle. Oracle 7 with ESQL/C (embedded SQL) in C on Sun Solaris.

At that time, I learned about the distinguishing feature of Oracle: multiversion read consistency. The fact that Oracle will not fail when reading a row updated by another transaction. Instead, Oracle will retrieve the row as it looked like when the transaction started from its transaction logs. This avoids locking all the rows being read, as opposed to all the other databases, including Informix. Obviously, an update of such row will fail as it was already updated by another transaction.

No comments: