2 ms·
Pros: - It does what it says, a document database with multi-primary/master nodes, which is good and rare. - It has been relatively reliable over the years fo
by speedgoose 4y ago
Pros:
- It does what it says, a document database with multi-primary/master nodes, which is good and rare.
- It has been relatively reliable over the years for my previous company, while running on very "beta" managed Azure AKS cluster. CouchDB has been the most reliable component of the stack, together with RabbitMQ (both are using Erlang but it may be coincidence).
- The community is not huge but friendly and helpful. Once a coworker corrupted a test database (it involved network volumes on AKS on Azure), and the community helped me retrieving most of the data because some people put important data in a test database.
- It improves slowly but surely over the years. The background indexing has been a huge improvement for example.
Cons:
- It's not very fast, especially on VMs with network volumes.
- Indexing takes a while, so migrations can take a very long time when you transfer the data.
- The indexes uses a lot of ram, by design.
- The community is small, so sometimes you have to send a pull-request or two.
- Complex queries is not its strong side. The query optimiser will default to a large scan in most cases if you are not careful to use your indexes correctly.
- When you have an issue or a question, not many people got it before you.
I left the company but last time I talked with the CTO, they were happy with CouchDB and they didn't want to migrate to something else. But I think the requirements (resilient multi-primary document database) where not necessary after all, and the company would most likely use PostGreSQL if they had to redo everything now that they know the actual requirements (a database with relations, transactions, fast complex queries, and a failover is enough).