Thread: What do do about Object-Relational label, was Help me improve the 9.2 release announcement!

From:
Chris Travers
Date:

A few points here.

On Tue, Aug 7, 2012 at 2:45 PM, Rob Napier <> wrote:
Joshua

Don't shoot the messenger. I'm just quoting Josh. And, BTW, from my
experience as a dbIgnoramus, I have to agree with his description.

To all you dbExperts on this list, I'd like to mention my own recent
experience with PostgreSQL that demonstrates the barrier to entry for people
trying to swing across from MySQL or other databases.

I decided recently that I would make time to really try to understand the
features and benefits of PostgreSQL. Thanks to the great Enterprise DB
installer package, I was able to install the software without any problems.
One barrier down!

And I found the wiki documentation really easy to follow, up to the point
when it starts to jump into object-relational blah blah blah.

Yes, I understand OOP and relational databases but when applied together,
the language is almost meaningless and more importantly: its significance to
me in developing a database. So I went to Wikipedia and elsewhere for an
explanation. That was worse. Much worse.


I wonder if it is time to re-examine the term object-relational and how we explain it.  As I understand it the original idea was a relational database which could be applied to complex data.  I agree that the term doesn't really have a lot to do with object oriented programming.  I think Rob has a point that the term itself is a barrier to entry, not for those who know nothing like I was when I started, but for those who expect the term to have something to do with OOP, which it doesn't.  Or maybe it is worth investing in a better description.  I would be happy to contribute.  That might be 9.3 territory though.

I think the problem here is that object-relational is an established term in the database world which programmers have a hard time grasping because it conflicts with their own terminology.
 

I've been building successful database applications for 25 years without a
problem. So I though the transition to PostgreSQL would not be too
difficult. Well, it is - if you haven't graduated from college in the last
10 years or invested 1000s of hours in private study.

Unless you folk want to continue being an object-relatively exclusive club,
you need to make information more accessible. I can cite numerous examples
in other industries where the second-or-third-best product dominates the
market by keeping the message simple and the product accessible.

 Certainly we need a better explanation about what is meant.

So here is my offer: I am prepared to work (on Skype) with one or more
individuals who can explain the significance of Josh's no doubt,
illuminating announcement, and I'll write a media release for the rest of us
mortals.

And I'm willing to do this on any PostgreSQL text, as long as there is
someone ready to give me context to work with.

I would be interested in trying to get an accessible explanation as to what is meant by Object-Relational into the documentation.  I will try to send you something. 

If there is a really well-written book that would break down the barriers
for me, what is its title? My PostgreSQL textbook would stop a tank!

Getting the right balance seems to be a problem. But it's a problem that
needs to be solved if mere mortals such as myself are ever going to make the
transition.

Apologies for the length of this post. Thank you for your time.

I don't think it is a question of mere mortals.  It is easier to teach a computer novice to use Linux on the desktop than it is to teach a Windows power user.  Consequently the real problem it seems to me is a mismatch between terms which results in communication difficulties.  It seems to me the best thing to do is to focus on how we explain these terms.

Let's see what we can do about that.

Best Wishes,
Chris Travers 
From:
Jeff Davis
Date:

On Tue, 2012-08-07 at 20:15 -0700, Chris Travers wrote:

> I wonder if it is time to re-examine the term object-relational and
> how we explain it.

+1.

My first suggestion to consider removing the word "object" fell flat,
but I think improving the documentation around that term would help
avoid confusion (including my confusion).

http://archives.postgresql.org/message-id/1335420139.28653.59.camel@jdavis

Based on that thread, it seems to have something to do with
extensibility, user-defined data types, polymorphism, and overloading.

But those things seem to matter only to extension authors, so I can't
think of a way to usefully describe object-relational to new users
(aside: those we call "users" are actually developers, so they will
expect that any object-relational features are intended for them).

The only object-relational things that a new user will see are the
things I mentioned in the email linked above: OIDs, inheritance, and dot
function call syntax. And I can't think of a way to describe those
things in a way that would connect with new users, either.

Regards,
    Jeff Davis



From:
Simon Riggs
Date:

On 9 August 2012 18:22, Jeff Davis <> wrote:
> On Tue, 2012-08-07 at 20:15 -0700, Chris Travers wrote:
>
>> I wonder if it is time to re-examine the term object-relational and
>> how we explain it.
>
> +1.
>
> My first suggestion to consider removing the word "object" fell flat,
> but I think improving the documentation around that term would help
> avoid confusion (including my confusion).

I think we should call Postgres a multi-model database.

--
 Simon Riggs                   http://www.2ndQuadrant.com/
 PostgreSQL Development, 24x7 Support, Training & Services

From:
Pavel Stehule
Date:

2012/8/9 Simon Riggs <>:
> On 9 August 2012 18:22, Jeff Davis <> wrote:
>> On Tue, 2012-08-07 at 20:15 -0700, Chris Travers wrote:
>>
>>> I wonder if it is time to re-examine the term object-relational and
>>> how we explain it.
>>
>> +1.
>>
>> My first suggestion to consider removing the word "object" fell flat,
>> but I think improving the documentation around that term would help
>> avoid confusion (including my confusion).
>
> I think we should call Postgres a multi-model database.

I don't think - PostgreSQL is not NoSQL, it is not column database -
the Stonebraker's category object relational is valid still.

Regards

Pavel

>
> --
>  Simon Riggs                   http://www.2ndQuadrant.com/
>  PostgreSQL Development, 24x7 Support, Training & Services
>
> --
> Sent via pgsql-advocacy mailing list ()
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-advocacy

From:
Josh Berkus
Date:

>> I think we should call Postgres a multi-model database.

"NewSQL".   ;-)


--
Josh Berkus
PostgreSQL Experts Inc.
http://pgexperts.com

From:
"Kevin Grittner"
Date:

Josh Berkus <> wrote:

>>> I think we should call Postgres a multi-model database.
>
> "NewSQL".   ;-)

Oh, I know I should try to control myself, but...

PostSQL!

-Kevin

From:
Fernando Fontana
Date:

maybe "relational and object database".  "object-relational" seems to force the use of object paradigm.

2012/8/9 Kevin Grittner <>
Josh Berkus <> wrote:

>>> I think we should call Postgres a multi-model database.
>
> "NewSQL".   ;-)

Oh, I know I should try to control myself, but...

PostSQL!

-Kevin

--
Sent via pgsql-advocacy mailing list ()
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-advocacy

From:
"Joshua D. Drake"
Date:

On 08/09/2012 12:23 PM, Kevin Grittner wrote:
>
> Josh Berkus <> wrote:
>
>>>> I think we should call Postgres a multi-model database.
>>
>> "NewSQL".   ;-)
>
> Oh, I know I should try to control myself, but...
>
> PostSQL!
>
> -Kevin
>

You should be hog tied for that :P

--
Command Prompt, Inc. - http://www.commandprompt.com/
PostgreSQL Support, Training, Professional Services and Development
High Availability, Oracle Conversion, Postgres-XC
@cmdpromptinc - 509-416-6579

From:
Darren Duncan
Date:

Maybe call it "extensible-relational", which should be inclusive enough to
include things like user-defined types / polymorphism / overloading / etc but
should still put the emphasis on "relational".

Also, the above 2 words essentially rhyme / have 4 syllables each.

Personally I consider "relational" by itself to include user-defined types et
al; however I support the longer term for marketing purposes with people that
think of the term "relational" more narrowly to exclude user-defined types.

-- Darren Duncan

Jeff Davis wrote:
> On Tue, 2012-08-07 at 20:15 -0700, Chris Travers wrote:
>
>> I wonder if it is time to re-examine the term object-relational and
>> how we explain it.
>
> +1.
>
> My first suggestion to consider removing the word "object" fell flat,
> but I think improving the documentation around that term would help
> avoid confusion (including my confusion).
>
> http://archives.postgresql.org/message-id/1335420139.28653.59.camel@jdavis
>
> Based on that thread, it seems to have something to do with
> extensibility, user-defined data types, polymorphism, and overloading.


From:
Thomas Kellerer
Date:

Jeff Davis wrote on 09.08.2012 19:22:
> On Tue, 2012-08-07 at 20:15 -0700, Chris Travers wrote:
>
>> I wonder if it is time to re-examine the term object-relational and
>> how we explain it.
>
> My first suggestion to consider removing the word "object" fell flat,
> but I think improving the documentation around that term would help
> avoid confusion (including my confusion).
>

I think that most useres/developers don't really care whether it's an
object relational database, a relational database or a relational database
that has "object oriented" features/extensions.

After all, Oracle offers the same set of "object oriented" features (except
for table inheritance but with more object oriented types) and they never attribute
themselves as object relational. I think when 8i came out they simply called that
"object relational features" (I don't recall the exact wording, that's a long
time ago)

Why not simply do the same thing and call Postgres a relational database?
In the manual (or the homepage, maybe the FAQ) it could be explained in more detail what
the "object-relational" extensions are and how the user/developer can benefit from them.

My 0.02€




From:
Chris Travers
Date:



On Thu, Aug 9, 2012 at 2:38 PM, Thomas Kellerer <> wrote:
Jeff Davis wrote on 09.08.2012 19:22:
On Tue, 2012-08-07 at 20:15 -0700, Chris Travers wrote:

I wonder if it is time to re-examine the term object-relational and
how we explain it.

My first suggestion to consider removing the word "object" fell flat,
but I think improving the documentation around that term would help
avoid confusion (including my confusion).


I think that most useres/developers don't really care whether it's an
object relational database, a relational database or a relational database
that has "object oriented" features/extensions.

Some people appear to be confused by it.  I think it is worth clarifying what we mean.  The Wikipedia article on object-relational databases is not helpful for understanding PostgreSQL, for example, as the concept of implicit join conditions doesn't apply to us (and they offer no examples of table inheritance).

I am willing to write a first draft btw.  Here are a list of object-relational features I would highlight:

1)  Table inheritance
2)  Highly extensible type/cast/operator system including the ability to use complex types for type prototyping and casting complex types to other forms.
3)  Function argument type detection

Are there any others?

Best wishes,
Chris Travers
From:
Dimitri Fontaine
Date:

Josh Berkus <> writes:
>>> I think we should call Postgres a multi-model database.
> "NewSQL".   ;-)

YeSQL.

More seriously, I too think that "object-relational" is not descriptive
of what PostgreSQL has to offer. Extensible relational would be more
accurate, and I like "Multi-Model" better, even when that sounds a
little like "roll your own, we don't care that much".

Regards,
--
Dimitri Fontaine                                        06 63 07 10 78
http://2ndQuadrant.fr     PostgreSQL : Expertise, Formation et Support