views:

126

answers:

2

I'm looking at building an application that needs to be run on a user's local (usu. Windows) desktop, which will not have Access or any other database application installed and which needs to be able to replicate its data to a web instance (probably via a web service).

Given NoSQL databases are document-oriented (and this application is intended to deal largely with documents), make replication more straight-forward and are not necessarily dependent on installable hosts or applications, would they be the best solution in this case, or am I just jumping on a fashionable option that isn't the best fit for this problem?

+2  A: 

You can use ESENT - an embeddable database storage engine for local storage. It comes as part of windows.

Here is the managed interface codeplex.

As for using NoSQL databases - by all means, if they fit your needs use them. But don't do it simply because of their current popularity. If all you need to do is save documents, what is wrong with the filesystem?

Oded
The file system isn't sufficient because I will want to synchronise the data with a web application at some point. Therefore it needs to be in a "web-ready" format.
Phil.Wheeler
What makes your files "web-ready"? As far as I know, most websites that serve files, store them on the filesystem.
Oded
+2  A: 

There is also the Desktopcouch project, which aims to provide a storage backend for (not necessarily Linux) desktop applications, for things like preferences and bookmarks. It is based on CouchDB and one of the stated goals is automatic replication and synchronization of data between computers. I believe it also plays a central role in the Ubuntu One cloud storage service.

Thilo