Channels ▼


Objects and Databases: State of the Union 2006

Erik Meijer, Microsoft: I'm Erik Meijer, I get paid by SQL Server and I work for Visual Basic and C#, so I experience objects and databases everyday and the impedance mismatch.

But what I really want to talk about with you today is about car sales people. All think that you love them, right? You go and buy a car and then they say: "You can get your Corolla and a navigation system or you can get a Prius and your fuel efficient engine." But of course what you want is to have a Sienna and a navigation system and a fuel efficient engine. And the problem we have currently is that we also have this kind of disjunctive normal form for data.

So it's like either you have objects and pointer based traversal or you have objects and foreign key/primary key based traversal.

So how can we get rid of this kind of disjunctive normal form in this ugly world? There are two ways to do that. One is to define a kind of an uber data model that some people try to do and then map everything into that uber data model. Or the other one is to try to unify, to look what is common between all these data models, how can we abstract over each model and over each collection type etc. And this is like where the future will be so I will leave that as cliffhanger for the next round to talk to you about that.

But before that I want to give this -- it's a memorial candle. This is for all the companies that are still looking at the uber model and I'd like to symbolically burn this candle for them as a memorial that they will go down in peace.

Related Reading

More Insights

Currently we allow the following HTML tags in comments:

Single tags

These tags can be used alone and don't need an ending tag.

<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags

These require an ending tag - e.g. <i>italic text</i>

<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

Dr. Dobb's encourages readers to engage in spirited, healthy debate, including taking us to task. However, Dr. Dobb's moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing or spam. Dr. Dobb's further reserves the right to disable the profile of any commenter participating in said activities.

Disqus Tips To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy.