[Web4lib] What Sort of Library is Open Source Software For?

Mike Rylander mrylander at gmail.com
Fri Sep 23 21:08:28 EDT 2005


On 9/23/05, John Fereira <jaf30 at cornell.edu> wrote:
> At 07:37 PM 9/23/2005, Ross Singer wrote:
> >I'm confused... what leads you to this conclusion?  Couldn't they
> >have been using a db abstraction layer?
>
> If you're talking about something like iBatis Sql maps or Hibernate
> the underlying default table type still doesn't support
> transactions.  I haven't looked at the code for the MySQL database
> driver in awhile but for a long time it "lied" about supporting
> transactions.  It would merely detect the version of the database and
> if it was later than a date when a transaction safe database was
> supported (but not the default) it would indicate that the database
> *did* support transactions even if the specific instance did not.  If
> the abstraction layer is relying on supportTransactions() returning
> true it might attempt to perform commits and rollbacks but they'd
> still result in noops.
>

Mmmm... Tasty religious wars ... ;)

Not to add to much fuel to the fire, but anyone running MySQL may want
to look here(1), and then at the data in your "enterprise" MySQL
installation.  To be fair, there is another list for Postges here(2). 
Shocking at the difference in length, though.

All that being said, it really comes down to how much it will cost you
to loose your data, and what you demand in features.

MySQL can be great for single-to-few concurrent user apps, when all
you need is a SQL backend and you're not a DBA (or can't afford to
hire one).

If you need stored procedures, triggers (referential and user
defined), flexible and /strict/ data types, scalability to hundreds or
thousands of concurrent connections and thousands of gigabytes of
data, and an absolute guarantee of transactional integrity you can
either purchase Oracle or DB2, or hire a good Postgres DBA. (And no,
the beta version doesn't count...)

And I'd bet dollars to doughnuts that NASA is not using MySQL for
anything mission critical unless the data is simply reloaded from a
heavy-weight database on a regular basis.

Have a good weekend!



1) http://sql-info.de/mysql/gotchas.html
2) http://sql-info.de/postgresql/postgres-gotchas.html

--
Mike Rylander
mrylander at gmail.com
GPLS -- PINES Development
Database Developer
http://open-ils.org


More information about the Web4lib mailing list