Re: Object-relational impedence

From: Dmitry A. Kazakov <>
Date: Mon, 3 Mar 2008 20:26:51 +0100
Message-ID: <rnn5w7qx2y7v.uw5danejjxis$>

On Mon, 03 Mar 2008 12:07:35 -0500, Thomas Gagne wrote:

> JOG wrote:

>> I wondered if we might be able to come up with some agreement on what
>> object-relational impedence mismatch actually means. I always thought
>> the mismatch was centred on the issue that a single object != single
>> tuple, but it appears there may be more to it than that.

> The issue as I've discovered it has to do with the fact OO systems are
> composed of graphs of data and RDBs are two-dimensional.

> What defines an account in an RDB may be composed of multiple tables.
> An RDB might express multiple account types through multiple tables
> where OO may reflect it as multiple classes. Attempts to make RDBs
> function as graphs through mapping tools results in disappointing
> performance and, in my experience, too much mapping, too much
> infrastructure, and too much language/paradigm-specific layers. In
> short, way more code, way more maintenance, and way more job-security
> for consultants, pundits, and tool providers.

Certainly RDBs are n-dimensional.

The difference is not there. If you wanted to consider the space [of objects], then the difference would be in its the structure and the distance defined there.

RA assumes existence of such space and tries to *abstract* any distance away. Clearly any implementation would introduce a distance and that will have a huge impact on the performance of the DB. This includes also the mental pictures of the DB "performing" in the heads of people programming it. Negative/positive impacts do not necessarily correlate, which does not make things any better.

OO clusters the space into isolated multidimensional planes and *publishes* the distances and orders there. This allows a far better modeling of the problems which space differ from one described by RA. This also includes larger problems which can be described by RA but cannot be modeled by it due to hardware limitations (finiteness etc).

Disclaimer: "a real FORTRAN program" can be written in any language under any paradigm etc.

Dmitry A. Kazakov
Received on Mon Mar 03 2008 - 20:26:51 CET

Original text of this message