I know this won't answer all of your questions, but in relation to the clustering, there's a great open source project called Sequoia (I think is maintained by Apache) that allows you to cluster any rdbms that can be used with a jdbc layer.
http://sequoia.continuent.org/HomePage
So at least if there's a db out there that you like that lacks clustering in the way you like (maybe postgres?) then you could use Sequoia with it to fill in the blanks?
Andrew
[Message sent by forum member 'areplogle' (areplogle)]
http://forums.java.net/jive/thread.jspa?messageID=205018