Can I do transactions and locks in CouchDB?

No. CouchDB uses an “optimistic concurrency” model. In the simplest terms, this just means that you send a document version along with your update, and CouchDB rejects the change if the current document version doesn’t match what you’ve sent. It’s deceptively simple, really. You can reframe many normal transaction based scenarios for CouchDB. You do … Read more

Why should I use document based database instead of relational database?

Probably you shouldn’t 🙂 The second most obvious answer is you should use it if your data isn’t relational. This usually manifests itself in having no easy way to describe your data as a set of columns. A good example is a database where you actually store paper documents, e.g. by scanning office mail. The … Read more

Full-text search in NoSQL databases [closed]

None of the existing “NoSQL” database provides a reasonable implementation of something that could be named “fulltext search”. MongoDB in particular has barely nothing so far (matching using regular expressions is not fulltext search and searching using $in or $all operators on a keyword word list is just a very poor implementation of a “fulltext … Read more