Forum OpenACS Q&A: MaxSQL is a MySQL frontend to Sleepycat's database

MaxSQL seems to be how MySQL is trying to achieve ACIDity (but it struck me as fantastic that MySQL would give up their backend for Berkeley DB without a fight--all in the interest of adding transactions). Is Berkeley DB (the engine behind MaxSQL)'s concept of transaction worthwhile for online community use? What is missing? How do they compare to PostgreSQL and Interbase (assuming we are even comparing apples to apples)? Both MySQL and Berkeley DB have a large community in the open source world, so I thought I post this heads-up as a Q&A so we can take a look and what's really going on and maybe ask the MySQL and Berkeley DB folks some questions.
They gave it up without a fight because the Slashdot folks paid them to do it.  Turns out that while all the rabid MySQL fans on Slashdot were true believers in the party line that transactions are useless and just slow things down, the Slashdot folks themselves knew differently.  After getting bought out, improving MySQL (via financing change) was one of the  strategies they pursued to improve the stability and reliability of Slashdot.

I'm not terribly familiar with Berkely DB.  When OpenACS supports both  InterBase and Postgres, I'll be happy.  If people don't want to use OpenACS because it doesn't support My/MaxSQL I personally won't care.

Well, it's good to see they've not lost their flair for dishonest statements, at least:
MaxSQL is the first Open Source relational database engine to offer the reliability, scalability and performance that commercial users demand
I just can't bring myself to trust these people, they're nothing if not sleazy.
Beyond the questionable claims they make about being the "first", there is one important news item here: MySQL is finally adding transactions, while they denied a need for it for a very long time. I wonder how long it will take for them to realize that stored procedures and subselects are also quite important.

However, I have to commend them on this transaction thing. At least they're making that part happen. It seems the SleepyCat back-end is quite good. The one remaining problem with it is that it performs pessimistic locking, which means that writers block readers. This is not such a great thing for web applications (Postgres and Oracle should still perform better), but it's a heck of an improvement over the "lock the whole table" idea that MySQL had before.

Interbase never blocks readers, either (its internal versioning scheme  is very, very similar to the Stonebraker scheme implemented in Postgres and they had the same insight that this scheme makes it relatively easy to provide a high level of concurrency).

SleepyCat does some to be good, at least users are enthusiastic about it.

I think they're adding subselects to MySQL, at least they've talked about it.  Referential integrity (foreign keys) don't seem to be on their list, however, since they talk about them being a bad idea.

There's no doubt that MySQL is improving, but as Ben notes it is in ways that the implementors have argued for years are "wrong".  It will  be interesting to watch them change the spin they give to the party line, if nothing else!