It depends on your needs. MySql is far away from standards, missing subqueries and loved by webhackers - because of it's silly name. If you're looking for an OpenSource Database which is a bit professional, have a look at postgresql. MSsqlServer is bad. A) it's from Micorsoft. B) it's bad. Once I was forced to use it, and made a query to timefields. I took the value as string. I send the same string back for update. It worked fine till '03-12'. On '03-13' it gave me an error. And - did I mention it is from MS? Oracle is the market-leader. Fast, big - and expensive. For small projects I would have a look at hsqldb - a pure java/in-memory-db. JDataStore is a perfect stranger to me.