Thread: Thesis on PostgreSQL

Thesis on PostgreSQL

From
Eyinagho Newton
Date:

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


Re: Thesis on PostgreSQL

From
Peter Eisentraut
Date:
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/


Re: Thesis on PostgreSQL

From
"Jim C. Nasby"
Date:
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?"


Re: Thesis on PostgreSQL

From
"D'Arcy J.M. Cain"
Date:
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.


Re: Thesis on PostgreSQL

From
"Jim C. Nasby"
Date:
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?"


Re: Thesis on PostgreSQL

From
Hannu Krosing
Date:
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


Re: Thesis on PostgreSQL

From
"Dave Page"
Date:


-----Original Message-----
From: pgsql-hackers-owner@postgresql.org on behalf of D'Arcy J.M. Cain
Sent: Sat 9/4/2004 2:24 PM
To: Jim C. Nasby
Cc: peter_e@gmx.net; neyinagho@yahoo.com; pgsql-hackers@postgresql.org
Subject: Re: [HACKERS] Thesis on PostgreSQL
> 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 week of a database module I did at Uni some years back discussed generations of database along the lines of:

File systems/flat storage
Hierarchical databases (IMS)
Network databases(CODASYL)
Relational Databases (RDBMS)
Object Relational Databases (ORDBMS)

Which of course puts us as the latest generation. Dunno about Oracle...

Regards, Dave.