Wednesday, September 6, 2006 09:42 PM
Well, millions of MS Exchange servers backed by MS Access files can't be wrong. [/sarcasm]
More seriously, if this is a hobby sort of a project, I'd just go with MySQL as it has a decently sized community around it. (Also look for the "mysql connector" for Java.) If you just want something *really* light weight that just runs in memory, look into Derby or HSQLDB. I'm less familiar with those guys -- I'm sure they work fine, but they don't really "feel" like a traditional DB system as far as administration goes.
As to implementation, you will still need some sort of central server or master node. You need a database service running on that server, and you need a piece of code that can talk to that database to authenticate users when they try to connect. That code you write can be straight JDBC (which I'll recommend for a hobby project that needs little else) or you can use full-blown persistence management with a tool like hibernate (works great once you finally get everything configured the right way for your app).