tags:

views:

643

answers:

2

I've seen a couple of apps using this DesktopCouch thing, What are the differences between CouchDB and DesktopCouch???

A: 

Giving this an educated guess:

For a quick general differential view I would put it in simple analogy terms.

Microsoft SQL Server : Microsoft Access ::

MySQL / PostgreSQL : SQLite

CouchDB / MongoDB : Desktop Couch

What is the common thing about this analogy?

MySQL / PostgreSQL / Microsoft SQL Server / CouchDB / MongoDB are all full blown database servers commonly found in enterprise industrial use (these server-centric databases are used for more heavy duty tasks, have better security and can handle more load).

Microsoft Access / SQLite / Desktop Couch are light/stripped down databases geared more for personal/small/home business use. (It's possible that these desktop-centric databases can cross over and accomplish what their server-centric counterparts do as well but not in large scale, lacking in security and lack many higher end functionalities)

Take a look at this SQLite vs MySQL question to get a general feel of what might be the differences between server-centric and desktop-centric databases.

As for the detailed difference between CouchDB vs Desktop Couch, that's hard to say since it seems like it is still under development. Check out this URL to see what the goals are for Desktop Couch. If my analogy holds true, Desktop Couch should retain its document-oriented database core functionality but with enterprise performance tuning, load scaling, higher-security functions and tools stripped out.

Here's a simpler connotation: CouchDB is commonly found used in web apps where as Desktop Couch would be commonly found used in Desktop/portable-device apps.

Level1Coder
+5  A: 

You can refer to this post by Stuart Langridge:

http://www.kryogenix.org/days/2009/09/03/desktop-couch-irc-talk

Basically desktop couch is a program on Ubuntu that gives every user their own CouchDB and handles some periodic tasks in CouchDB.

For example, if multiple users get their own CouchDB server then it can't be run on the default port, so it is started on a random port and Desktop Couch has facilities that help you find your couchdb on which ever port it was started under.

But desktopcouch refers to all the work Ubuntu has put in to making CouchDB easy for developers to use in applications for Ubuntu as well, there is a Python library, there are facilities for managing replication to other CouchDB instances and resolving conflicts (mainly UbuntuOne).

The important thing to notice thought is that this is not an alternative implementation of CouchDB. desktopcouch uses the regular Apache CouchDB server.

mikeal