On Wed, 2005-11-30 at 10:34 -0600, Jesse, Rich wrote:
> Being from primarily an Oracle background (as far as DBs go), I'd say
> overall "Oracle".  Free?  Yes!  There's now a free Express Edition
> ("XE") currently for Linux and Winders (beta) which can be downloaded
> from http://www.oracle.com/technology/products/database/xe/index.html
> Like everything there are caveats, and I believe a big one to be that
> DBD::Oracle doesn't yet play will this version of Oracle (see previous
> threads on this list although I haven't been paying that close attention
> to it myself since we use the full-blown Enterprise Edition).  It's also
> limited in DB size and what features are supported.  See the above link
> for more info.

There are some clearly defined areas where this certainly is the right
answer.  Oracle still has some killer OLAP features in its Enterprise
product compared to Postgres; off the top of my head:

  - bitmap indexes (though the latest version of Bizgres, a Postgres
    extension, supports these)

  - materialized views with query rewriting (lets you explicitly
    precompute results for slow queries, or partial precomputation to
    reduce the time required for slow queries)

  - table partitioning (though some limited support, to the level of
    Oracle 8.x or so, exists in Bizgres 0.7 and has been integrated into
    Postgres 8.1)

  - compressed tablespaces, which for highly compressible data reduces
    IO load

If you are considering MySQL, the InnoDB back-end is much better for
OLTP.  The MyISAM backend may be a toy database, but there are a lot of
use cases where its "atomic operations" model is a lot faster - even
though it's basically retarded.

SQLite is useful, but does not scale - it is not possible to have
concurrent update transactions.  However for small web applications
which you need to distribute to unknown environments it is an excellent
choice.

So, really it depends if your web application is primarily OLAP or OLTP
(analytical or transactional).  Personally I find Oracle a bit clunky
for OLTP, and have had it return blatantly incorrect results for me a
few too many times to trust it.

In a few years' time, it is quite possible that those great guys at
Greenplum will have enough of those OLAP features in Bizgres that the
remaining difference between it and Oracle will matter to virtually
no-one.

Which makes a compelling argument for a general purpose recommendation
for Postgres.

Sam.

Reply via email to