Forum OpenACS Q&A: Re: Postgres vs. Oracle for OpenACS

Collapse
Posted by Don Baccus on
birdnotes.net has been running on Postgres for, oh, three years now?  If I lost everyone's data they'd kill me.  Maybe even literally.  On the other hand I only promise that I can recover to last night's backup.

This site (openacs.org) has been running on Postgres since its inception.

To my mind the question isn't whether or not Postgres is reliable enough to trust with your data.

Rather the issue's scalability.  Postgres has a per-row space penalty that means for huge systems with tons of data, this size penalty can be significant.  4GB RAM costs less than an Oracle license for a decent sized server, though, so the space penalty should really only be a consideration for truly HUGE amounts of data.

The Postgres optimizer isn't as good in some cases, and that's affected scalability, too.  However some of the work being done by me (permissions) and Jeff Davis (proper index on child tables that use foreign keys) are going to significantly boost performance for both the PG and Oracle versions.  Both will be noticably more scalable than the current 4.6 release.

Also PG's handling of in-database pseudo-LOBs for storing of binary files is less efficient than Oracle BLOBS.  You can get around this if necessary by having the content repository store such data in the host filesystem rather in the database.  And Postgres wins for large text because with Oracle you need to use CLOBs for any varchar longer than 4KB.

Frankly though I can't imagine an intranet raising scalability issues unless you're talking about a major corporation.