I'm in the process of migrating code to use a NoSQL database and couchbase is my first candidate. Been reading and watching all webinars about it.
I did some benchmarks and they are fast. That is, if you don't use the Stores with observe commands. Even if you choose the replicateto.1 it can take from 1 second to a bit more than that. I'm guessing its because the store and observe are 2 separate commands, not sure if its pooling the server either.
Obviously my concern is, whats the point of being able to add 10k operations amazingly fast and having them saved in memory with all my users thinking they have saved their data when in fact, if the server crashes before at least replicating to another server's memory happens or it is saved to disk? I'm happy with only being replicated as that is the first step before getting sent to the disk queue.
So my question is, can I have my store operations behave synchronously and only return success after it has been at least replicated to ram to another server without using store and observe requests? (The SDK makes it seem that its one command but I dont think thats the case, am i wrong?).
As another option, is there a setting /variable of couchbase which lets me specify the delay or min items before it gets sent to other servers ram?