postgres_compared

This is part of The Pile, a partial archive of some open source mailing lists and newsgroups.





===


Subject: Re: [HACKERS] Most Advanced
From: Lamar Owen <lamar.owen@wgcr.org>
Date: Tue, 15 Feb 2000 11:48:06 -0500


Bruce Momjian wrote:
> > Until InterBase is released open source, it remains to be seen how
> > advanced of an open source database it will be.
 
> Is Interbase any good?  I never heard of them much.  Sounds like it is a
> PC database like dbase, right?  They don't scale very well.

Well, rummaging around the interbase.com website, I found an
introductory whitepaper that lists their features.  Check
http://www.interbase.com/downloads/what_is_ib.pdf for more info.

It seems to be an interesting system. To summarize its features (going
quickly against the PDF referenced above):
Client-server architecture;
SQL parser in server;
Server side triggers;
Stored Procedures;
User-defined functions;
Event alerters (that notify clients of database changes);
Declarative Referential Integrity with cascading operations;
Domains and contstraints extend SQL types;
Automatic two-phase commit to stabilize distributed mulit-database
transactions;
Cross-platform scalability and interoperability;
Small footprint (3MB disk for minimum, ~20MB for full install)
Up to 150 concurrent clients;
Y2K correct;
Implements entry level SQL-92, plus many intermediate level features and
selected features from the full level;
InterBase Corp has voting member status in the ANSI SQL standards
committee, X3H2;
SQL Roles for group-level security;
SQL-92 syntax for inner and outer JOIN clauses;
Views on tables and joins;
Select procedures (that return not a value, but a result set);
Full transactional operation;
MultiGenerational Architecture (basically the same as our MVCC);
Row-level locking;
Multiple concurrent transactions on a per-client basis -- each client
can have multiple concurrent transactions;
Distributed transactions -- a single transaction can be open against
multiple databases, with a two-phase commit;
BLOBs;
Arrays (implemented as structured BLOBs);
BLOB filter functions (such as a JPEG to PNG translator);
Cost-analysis query optimization;
On Unix systems, the InterBase security can be integrated with OS
security;
Internationalization support, including UNICODE;
Integration with Borland JBuilder;
ODBC client;
Automatic garbage collection -- no vacuum;
No preallocation of disk space required -- files up to 4GB in size, with
expansion through the use of secondary files (similar to our
segmentation);
Full ACID compliance.

That's the short version.

I don't see stuff like:
Ability to use Tcl and Perl in stored procedural functions;
Object Relational in nature;
Endlessly extensible for types, languages, functions, etc.  (I
especially like that one).

And other features of PostgreSQL that we know and love. Nor do I see as
many supported architectures.



===

Subject: Re: [HACKERS] Most Advanced
From: Peter Eisentraut <e99re41@DoCS.UU.SE>
Date: Tue, 15 Feb 2000 18:36:20 +0100 (MET)


On Tue, 15 Feb 2000, Bruce Momjian wrote:

> Is Interbase any good?  I never heard of them much.  Sounds like it is a
> PC database like dbase, right?  They don't scale very well.

"InterBase is an enterprise-level database system used by firms and
agencies like Nokia, MCI, Northern Telecom, NASA, the US Army, and Boeing.
Despite its speed and capabilities, it has been a well-kept secret and
holds an insignificant share of the relational database market. Growth of
that market has slowed, reducing chance for InterBase to increase its
share as a proprietary product."

Although they do stand in the tradition of dBase and Paradox, they do
appear to be a serious product. This URL might give you an idea what kind
of SQL (and beyond) they support.

<http://www.interbase.com/products/dsqlsyntax.html>

Also, they seem to have an edge (against us) in the areas of logging
(journaling) and distributed stuff. Their client languages seem to
concentrate around Delphi, C++, and Java.

I am just wondering how/whether they will be able to enlist any outside
developers in significant masses. (see also Mozilla)

===

Subject: Re: [HACKERS] Most Advanced
From: Hannu Krosing <hannu@tm.ee>
Date: Tue, 15 Feb 2000 20:04:55 +0200


Lamar Owen wrote:
> 
> Bruce Momjian wrote:
> > > Until InterBase is released open source, it remains to be seen how
> > > advanced of an open source database it will be.
> 
> > Is Interbase any good?  I never heard of them much.  Sounds like it is a
> > PC database like dbase, right?  They don't scale very well.

IIRC it was missing shared cache between backends. 
 
> It seems to be an interesting system. To summarize its features (going
> quickly against the PDF referenced above):

I try putting a + or - based on weather PG has it (please correct me)

+> Client-server architecture;
+> SQL parser in server;
+> Server side triggers;
+> Stored Procedures;
+> User-defined functions;
+> Event alerters (that notify clients of database changes);

Actually or LISTEN/NOTIFY would could use some improvement, it would be 
much more powerful if it allowed even a single argument to be passed.

+> Declarative Referential Integrity with cascading operations;

Will be in 7.0 ?

-> Domains and contstraints extend SQL types;
?> Automatic two-phase commit to stabilize distributed mulit-database
   transactions;
+> Cross-platform scalability and interoperability;
+> Small footprint (3MB disk for minimum, ~20MB for full install)

PG should be about the same size

+> Up to 150 concurrent clients;

What is the upper limit for PG ?

+> Y2K correct;
+> Implements entry level SQL-92, plus many intermediate level features and
   selected features from the full level;
-> InterBase Corp has voting member status in the ANSI SQL standards
   committee, X3H2;

Is this the bunch of guys we often fondly remember for their SQL3 standard ?

-> SQL Roles for group-level security;

+> SQL-92 syntax for inner and outer JOIN clauses;

Will be in 7.0 ?

+> Views on tables and joins;
-> Select procedures (that return not a value, but a result set);

This requires a rewrite of the pl function API

+> Full transactional operation;
+> MultiGenerational Architecture (basically the same as our MVCC);
?> Row-level locking;

How are we doing here ?

?> Multiple concurrent transactions on a per-client basis -- each client
  can have multiple concurrent transactions;

If client==connection, then we don't have it, if we opened a connection per
trx we do

-> Distributed transactions -- a single transaction can be open against
  multiple databases, with a two-phase commit;

Support for multi-db is generally weak in PG. A single connction can work only 
with one db at a time

+> BLOBs;

We have LOs, but the implementation is nut usable for more than a few on 
most UNIX filesystems (we have one LO per file, all in the same directory with 
everything else)

+> Arrays (implemented as structured BLOBs);

But nut implemented as structured BLOBS ;)

+> BLOB filter functions (such as a JPEG to PNG translator);

Could be done easily, but not included in distribution at least.

+> Cost-analysis query optimization;
+> On Unix systems, the InterBase security can be integrated with OS
  security;
+> Internationalization support, including UNICODE;

Do we have UNICODE (or just several other MB charsets)?

-> Integration with Borland JBuilder;

No intgration but can be used from it

+> ODBC client;
-> Automatic garbage collection -- no vacuum;

Implementing it to be _fully_ automatic would make it very hard to 
re-introduce time travel.

We have it semi-automatic using psql -c "vacuum;" in cron ;-p

+> No preallocation of disk space required -- files up to 4GB in size, with
   expansion through the use of secondary files (similar to our
   segmentation);
+> Full ACID compliance.
> 
> That's the short version.
> 
> I don't see stuff like:
+> Ability to use Tcl and Perl in stored procedural functions;
-> Object Relational in nature;

Maybe we should rephrase it to "Object Relational by ancestry".
We have very few OR features currently in working order, and 
probably won't before 7.1. Chris Bitmead has patches for making 
inherited tables work right (for SELECT,DELETE,UPDATE), but 
they won't probably be included in 7.0 as they change the behaviour 
of the only statment (SELECT) that is currently working to some extent
and some of the core developers seem to be dependent on the old 
behaviour, i.e using inheritance as a shortcut for including the 
same set of columns in an unrelated table. 
Also people were set back by SQL3 standard which pg should (?) follow 
to some extent at least, but which is incomprehensible when read 
directly and which can only be understood through the works 
of apostles ;)

+> Endlessly extensible for types, languages, functions, etc.  (I
  especially like that one).

Otoh, they have implemented DOMAINS, which allow much of simpler types to 
be done at SQL level. They won't probably be indexable.

===

Tue Jul 25 18:17:12 2000

Some anonymous criticism of postgresql on slashdot (compared
to Inprise):

Re:My problems with Interbase

 (Score:0)
 by Anonymous Coward on Tuesday July 25, @04:53PM PST

 "I believe the only key feature postgresql is missing at the moment is outer joins" 

 Outer joins, real time backups, proper sub-selects, vacuum
 that doesn't lock everything, limit on number of records
 you can have in a database (4 billion or so right now),
 multi threaded design, UNION that actually works properly,
 multiple bugs in VIEW, blobs are scary here, proper user
 and table authentication, etc

 All underway now, I think. Both will be formidable
 products. PG has superior caching, while IB has a very
 small memory footprint and, has decent windows versions,
 and works very well in embedded/limited environments.

 [ Reply to This | Parent ] 

===


the rest of The Pile (a partial mailing list archive)

doom@kzsu.stanford.edu