As you likely know, Novell's recommendation regarding handling address book data via SOAP is to retrieve the data and then cache it locally, only requesting adds/edits/deletes from the server from time to time.

I am interested in knowing what solutions developers are using to persist such data in the following environments:

* Java/Linux
* C# (MS.NET)/Windows
* C# (Mono.NET)/Linux

What are you using? What would you recommend? (In the use case I have in mind, there could be 5-12 personal address books, with 500-90,000 entries in any given book, with <1% of the records changing in any given day...)

I've considered using a client/server SQL platform (MS SQL Express, MySQL/PostgreSQL, or some other embed-able DB like Apache Derby for Java or Access for C# on Windows), or flat XML files, etc...

Any suggestions are welcome.