William H. Magill on Thu, 10 Apr 2003 23:53:09 -0400


[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]

Re: [PLUG] Can Open Source Replace Oracle?


On Thursday, April 10, 2003, at 04:51 PM, gabriel rosenkoetter wrote:
On Wed, Apr 09, 2003 at 09:52:47PM -0400, Chris Hedemark wrote:
production systems that currently run against PostgreSQL.  If
PostgreSQL is going to eat with the dogs for its poor performance, at
least it should be because of true product suckage and not poor
configuration.

Postgres's poor performance isn't just a tuning issue. In fact, it's mostly not a tuning issue. It's mostly a (historical, don't know if it's still the case) completely braindamaged (lack of) optimization of SQL statements. Oracle kicks everything else's ass at doing this.

Postgres sucks worse than sapdb, last I heard, for the kinds of
queries Barry describes. I'd be glad to know that wasn't true any
more... but if it is, no amount of SHMMAX tweaking is going to fix
the underlying lack of code optimization. It'd be like building
everything in a system statically with -O0 with gcc targeting a
64-bit, big-endian architecture. Performance would suck no matter
how many cycles you ran the processor at.

I don't know Postgres, but back in the days when there was Ingres and Oracle, (10+ years ago) there were some very significant design differences between the two data base engines.


Ingres was optimized (and I do mean optimized) to handle small databases... on the order of megabytes of data. Oracle on the other hand was optimized to handle gigabytes of data. Ingres grew out of the original database engine that was used as a teaching tool as part of BSD. It had a very different reason for existing than did Oracle.

There are some significant issues effecting performance which relate to the way in which a database is updated and accessed (nominally sequential access vs random access). Historically, one could optimize performance to be fast at one or the other, but not both. If you shot for both, you got mediocre performance in both operations. The Oracle engine design tackled this problem and made significant improvements in the art.

There used to be some Computer Science white papers floating around that analyzed the differences between the two. There were two performance curves, both essentially knee curves. One which showed Ingress with good performance up to a point and then falling off rapidly, and the other almost an mirror image, showing Oracle with lousy performance up to a point, and then shooting up dramatically.

Granted, that was then and this is now, and both engines have been completely re-written since that time (at least twice.) However, I don't know if they have been re-designed.

People like to dump on Ellison and Oracle, but the fact is, Oracle represented a significant improvement at the time. That was how they captured the market, it WAS a better mousetrap. Today, that may or may not still be true. However, I suspect that it is. (One "feature," which I know Oracle has which Postgres does not have is the Digital/Compaq Tru64 Unix/VMS cluster technology. This was licensed for 9iRAC.)

T.T.F.N.
William H. Magill
# Beige G3 - Rev A motherboard - 768 Meg
# Flat-panel iMac (2.1) 800MHz - Super Drive - 768 Meg
# PWS433a [Alpha 21164 Rev 7.2 (EV56)- 64 Meg]- Tru64 5.1a
magill@mcgillsociety.org
magill@acm.org
magill@mac.com

_________________________________________________________________________
Philadelphia Linux Users Group        --       http://www.phillylinux.org
Announcements - http://lists.netisland.net/mailman/listinfo/plug-announce
General Discussion  --   http://lists.netisland.net/mailman/listinfo/plug