Offline Windows applications

We are designing some software that will have an offline component to it running on windows 8 tablets. We plan to use Couchbase for its built-in replication capabilities to handle the offline side of things and keep the user working with the latest data it could access.

I’m wondering what is the best way to do this. It looks like I’ll need to have Couchbase Server running on the tablet, but it doesn’t seem to install on the Surface Pro (1st edition). I can install the Apache CouchDB project, but there is not replication there with Couchbase Server that I can see. Also does the .NET SDK work with a local CouchDB instance?

What is the recommended approach here?

After the third install attempt, I finally got Couchbase Server installed on the tablet. Seems between all of the processes I’m using about 200 MB of RAM consistently with no activity. I gave each bucket 1 GB RAM each (only plan on using one I think). I’m guessing this is the way to go?

Hi Brian -

A couple of things to note here:

  • Couchbase and CouchDb are completely separate products - so replication between the two won't work
  • Couchbase clustering and replication are awesome, they were not intended to be used in this matter. Since you will be going in and out of WIFI, the cluster won't stabilize (likely) and you'll run into issues mapping keys to VBuckets, etc

That being said, you have a couple of options if you chose to use Couchbase in an online/offline manner:

  • Use a local database to store JSON blobs while offline and then sync when you go online
  • Use Couchbase Lite: http://www.couchbase.com/mobile

Couchbase Lite for .NET is still in development, however, but it will solve most of your problems with respect to replication/sync of data between clients and the cluster itself when it becomes available.

-Jeff

Thank you Jeff,

That’s what I needed to know.

Hi Bryan, Product Manager for Couchbase Lite here. As Jeff mentioned, we are currently developing .NET support for Couchbase Lite, which provides an embedded JSON-based datastore. It syncs with Couchbase Server via our no-shared architecture middle-tier, Sync Gateway. Would love to learn more about your use case and if you’d be interested in getting a preview of the .NET support when it is ready. You can reach me at jessica [at] couchbase [dot] com.