

Part of my final year thesis involves creating a
database using PostgreSQL. As a way of documentation,
is it correct to say that PosgreSQL belongs to the
fifth generation of database management systems? Where
does MySQL fall into? The fourth generation?

Thanks,

Newton Eyinagho


		
_______________________________
Do you Yahoo!?
Express yourself with Y! Messenger! Free. Download now. 
http://messenger.yahoo.com

Thu, 2 Sep 2004 04:00:06 -0700 (PDT)
Eyinagho Newton <neyinagho@yahoo.com>
Thesis on PostgreSQL
Am Donnerstag, 2. September 2004 13:00 schrieb Eyinagho Newton:
> Part of my final year thesis involves creating a
> database using PostgreSQL. As a way of documentation,
> is it correct to say that PosgreSQL belongs to the
> fifth generation of database management systems? Where
> does MySQL fall into? The fourth generation?

I'm not aware of any generally accepted definitions of generations of database 
management systems.

-- 
Peter Eisentraut
http://developer.postgresql.org/~petere/

Thu, 2 Sep 2004 14:12:43 +0200
Peter Eisentraut <peter_e@gmx.net>
Re: Thesis on PostgreSQL
On Thu, Sep 02, 2004 at 02:12:43PM +0200, Peter Eisentraut wrote:
> Am Donnerstag, 2. September 2004 13:00 schrieb Eyinagho Newton:
> > Part of my final year thesis involves creating a
> > database using PostgreSQL. As a way of documentation,
> > is it correct to say that PosgreSQL belongs to the
> > fifth generation of database management systems? Where
> > does MySQL fall into? The fourth generation?
> 
> I'm not aware of any generally accepted definitions of generations of database 
> management systems.
 
Nor am I, but I'd say MySQL would be at least 2 if not 3 or 4
generations behind PostgreSQL if there was such a thing :). PostgreSQL
would also be a generation or two behind Oracle.
-- 
Jim C. Nasby, Database Consultant               decibel@decibel.org 
Give your computer some brain candy! www.distributed.net Team #1828

Windows: "Where do you want to go today?"
Linux: "Where do you want to go tomorrow?"
FreeBSD: "Are you guys coming, or what?"

Fri, 3 Sep 2004 15:11:54 -0500
"Jim C. Nasby" <decibel@decibel.org>
Re: Thesis on PostgreSQL
On Fri, 3 Sep 2004 15:11:54 -0500
"Jim C. Nasby" <decibel@decibel.org> wrote:
> > I'm not aware of any generally accepted definitions of generations
> > of > > database management systems.
>  
> Nor am I, but I'd say MySQL would be at least 2 if not 3 or 4
> generations behind PostgreSQL if there was such a thing :). PostgreSQL
> would also be a generation or two behind Oracle.

Bzzzt!  Do you work in Oracle's marketing department?  PostgreSQL is not
a generation behind Oracle by any reasonable definition.  We may lack
some features that they have but they lack some features we have.  You
need to do some constructive defining to put one ahead of the other.

The only "generation" differentiation I have ever heard about in general
use was based on the language used to talk to the database.  In that
sense PostgreSQL is 3GL (SQL) and plpgsql might be 4GL.  Progress is a
4GL.  I'm not sure that's a feature though.

-- 
D'Arcy J.M. Cain <darcy@druid.net>         |  Democracy is three wolves
http://www.druid.net/darcy/                |  and a sheep voting on
+1 416 425 1212     (DoD#0082)    (eNTP)   |  what's for dinner.

Sat, 4 Sep 2004 09:24:04 -0400
"D'Arcy J.M. Cain" <darcy@druid.net>
Re: Thesis on PostgreSQL
On Sat, Sep 04, 2004 at 09:24:04AM -0400, D'Arcy J.M. Cain wrote:
> On Fri, 3 Sep 2004 15:11:54 -0500
> "Jim C. Nasby" <decibel@decibel.org> wrote:
> > > I'm not aware of any generally accepted definitions of generations
> > > of > > database management systems.
> >  
> > Nor am I, but I'd say MySQL would be at least 2 if not 3 or 4
> > generations behind PostgreSQL if there was such a thing :). PostgreSQL
> > would also be a generation or two behind Oracle.
> 
> Bzzzt!  Do you work in Oracle's marketing department?  PostgreSQL is not
> a generation behind Oracle by any reasonable definition.  We may lack
> some features that they have but they lack some features we have.  You
> need to do some constructive defining to put one ahead of the other.
> 
> The only "generation" differentiation I have ever heard about in general
> use was based on the language used to talk to the database.  In that
> sense PostgreSQL is 3GL (SQL) and plpgsql might be 4GL.  Progress is a
> 4GL.  I'm not sure that's a feature though.
 
First of all let me say that PostgreSQL is an outstanding database. I
would even go so far as to put it ahead of DB2 and maybe MSSQL, even
though those two databases have some important features that PostgreSQL
doesn't.

Having said that, there's a *lot* of features Oracle has that
PostgreSQL doesn't:

Multi-master replication
Clustering (heh, both in the table sense and in the multiple machines
serving one database sense)
Parallelization of individual queries
Partitioning
Recursive queries
PL/SQL is a richer language than plpgsql, and can be used outside of
functions
All of the DBMS_* stuff
A more sophisticated optimizer (which translates into less time spent
worrying about how you're writing your SQL)

On the flip-side, PostgreSQL has features Oracle lacks:
Free!
The ability to heavily customize PostgreSQL, by adding datatypes and
even function languages.
Handling NULLs more rationally

There is also the difference in how Oracle and PostgreSQL handle MVCC
which eliminates the need for them to vacuum and helps scaleability
(since rollforward and undo logs can be placed on separate physical
partitions). It's very clear which way is ultimately better though, so
I'm not listing it as a feature of either.

I've probably forgotten some other features of PostgreSQL, and I know
there's Oracle features I haven't mentioned.

So, what defines a generation? If you're talking programming languages
(ie: 3GL vs 4GL), then there may be no difference (though I would put
PL/SQL closer to 4GL than I would plpgsql). But we're not talking about
programming languages here, we're talking about databases, and I would
argue that many of the features Oracle has would define a generation
gap, notable the scalability features and the more advanced replication.
Then there's the grid features in 10g, which I would say put it a
generation ahead of DB2 and MSSQL.

In any case, I don't think it's fair to jump the gun and assume I work
for Oracle (I don't, though I was offered a job). There's been much
discussion about how we need to stop comparing PostgreSQL to MySQL and
instead compare it to Oracle, and I believe this to be true. Trying to
ignore where Oracle outshines us isn't a way to do this.
-- 
Jim C. Nasby, Database Consultant               decibel@decibel.org 
Give your computer some brain candy! www.distributed.net Team #1828

Windows: "Where do you want to go today?"
Linux: "Where do you want to go tomorrow?"
FreeBSD: "Are you guys coming, or what?"

Sat, 4 Sep 2004 10:56:18 -0500
"Jim C. Nasby" <decibel@decibel.org>
Re: Thesis on PostgreSQL
On L, 2004-09-04 at 16:24, D'Arcy J.M. Cain wrote:
> On Fri, 3 Sep 2004 15:11:54 -0500
> "Jim C. Nasby" <decibel@decibel.org> wrote:
> > > I'm not aware of any generally accepted definitions of generations
> > > of > > database management systems.
> >  
> > Nor am I, but I'd say MySQL would be at least 2 if not 3 or 4
> > generations behind PostgreSQL if there was such a thing :). PostgreSQL
> > would also be a generation or two behind Oracle.
> 
> Bzzzt!  Do you work in Oracle's marketing department?  PostgreSQL is not
> a generation behind Oracle by any reasonable definition.  We may lack
> some features that they have but they lack some features we have.  You
> need to do some constructive defining to put one ahead of the other.

Maybe he means version numbers (MySQL 4.x, Postgres 7.x(soon 8.x),
Oracle 10.x) ?

-----------------
Hannu

Sun, 05 Sep 2004 00:29:11 +0300
Hannu Krosing <hannu@tm.ee>
Re: Thesis on PostgreSQL