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.