I just got a fail over/load balanced database solution figured out using Sequoia (C-JDBC). We're trying to put together a high availability solution where I work so we won't have to worry about when we decide to do maintenance (web layer too). It took a bit of messing around to get it working correctly in the scenario we're trying to put together but know that I sort of understand how it works, it's actually pretty simple to do. I'm still working on figuring out how to automate the recovery but hey I've only spent a day so far on it.
So either one of the of the Sequoia controllers/DB's could go down and the other one will simple take over. It's actually a really cool architecture. In theory you could run everything on two boxes and have a mirrored/load balanced setup (there's a load balancer in front of the web servers too).
Right now it looks something like this (with a web load balancer in front):
Web1 Web2
\ /
\ /
Sequoia JDBC URL
|
|
V
Sequoia1 <-----> Sequoia2
| |
| |
Db1 Db2