CouchDB is excellent, I love its p2p replication functionality, but it is a little bigger(because we must install Erlang) and reduced when utilized in desktop application.

When I examined in apple duo core cpu,

  1. 12 seconds to load 10000 paperwork
  2. ten seconds to place 10000 doc, but need 20 seconds to update view, so total is thirty seconds

Can there be any No SQL implementation that has exactly the same p2p replication functionality, however the dimensions are really small like sqlite, and also the speed is very good(1 second to load 10000 paperwork).


Regrettably the question does not offer enough particulars regarding your application needs therefore it is type of hard to present an advise. Anyways, I am unaware of every other storage solution offering an identicalOrsophisticated P2P replication.

A few pre-determined questionsOrremarks regarding your your needs:

  1. what type of desktop application requires 10000 card inserts/second?
  2. whenever you say size exactly what are you mentioning to?

You might like to have a look at:

  • Redis
  • RavenDB

Also check a few of the other NoSQL-solutions for auction on against your application needs.

Perhaps you have attempted while using Hovercraft and/or even the Erlang view server? I'd an identical problem and located remaining inside the Erlang VM (therefore and staying away from activities to SpiderMonkey) provided the boost I desired. Used to do 3 things...

  1. Improving Queries: Porting your mapreduce functions from js to "native" Erlang usually gives tremendous performance boost when querying couch ( Also, controlling sights is simpler coz you are able to call exterior libs or perhaps your own put together modules (just add these to your ebin dir) reducing the amount of uploads you must do throughout development.

  2. Improving Card inserts: Using Hovercraft for card inserts gives up to X100 rise in performance ( It was pointed out within the CouchDB book (

  3. Pre-Run Sights: The final factor that you can do for desktop applications operates your sights throughout application startup (say, once the splash-screen is showing.) The very first time sights are run is definitely the slowest, subsequent runs are faster.

These assisted us a lot.

  • Edmond -