Great NoSQL product - Couchbase
Updated March 19, 2021

Great NoSQL product - Couchbase

Anonymous | TrustRadius Reviewer
Score 9 out of 10
Vetted Review
Verified User
Review Source

Software Version

Couchbase Enterprise Edition

Overall Satisfaction with Couchbase

Currently, it is being used by many departments, in various product areas.

There is a mix of deployments being used in multiple clusters:
- enterprise
- community
with various types of topologies: single cluster, multi-cluster (using cross DC replication).

The most important use-cases are:
- Transactional [datastore]
- Distributed cache
- Reporting and analytical storage
- Session storage and other user details.

The addressed business problems are:
- Performance improvements in various applications by using Couchbase as a distributed cache, capable of serving an intensive workload with low and predictable latency.
- Promotional platform: as storage of promotional campaigns, including tracking of customer activity in order to provide real-time feedback regarding customer journey. The main feature is to increase customer engagement by offering targeted promotions.
- Distributed scheduled workload execution: allows execution of a huge volume of transactions (millions) very quickly (minutes), by leveraging the low latency reads/writes & indexes.
- Internal console storage: hold various types of data related to console user journey (ex: session).







  • Low latency for read/write operations.
  • High throughput can be achieved using reactive support of the client.
  • Cross Data Center Replication - useful for multi-cluster topology.
  • Great management console, including various metrics useful for monitoring.
  • Great support for enterprise licences.
  • Community edition has various limitations, like [the] inability to view/edit documents over a certain threshold or inability to use various types of [optimized] indexes.
  • The indexes performance degrades when a certain number of mutations is reached.
  • The views creation can be quite slow and impacts the deployment speed for large buckets.
  • Faster transactions speed (ex: under 50ms for most common operations).
  • Ability to cope with massive load (over 10k TPS).
  • Faster development cycle due to schema flexibility. The application domain model evolves easily without backward-compatibility issues.
The performance is very good, especially for [the] enterprise edition.
For instance, we managed to achieve over 1m TPS cross data center replication speed for one of our [clusters.]
The reactive Couchbase client support allows using efficiently application resources by achieving large throughput for certain flows (ex: over 10k TPS on a single application node).
The [index] performance is pretty good for moderate load, however, it can degrade under heavy load when a large number of mutations are made.
Of course, the performance is sensitive to the hardware performance. To achieve some targets, it is recommended to [provide] a large number of CPUs & memory and sizing the cluster depending on the data size.
As mentioned in [the] "Use Case" section, we are building applications related mostly to customer engagement.
Though the applications have [a] mobile component, we do not use Couchbase Mobile.
The main reason for using NoSql database was the richness of [the] domain and [the] quick pace of changes and new requirements that needed to be supported. Using [traditional] relational storage [is] not suitable for this kind of business problem. The ability to evolve the domain without breaking the existing data structure was the key reason for choosing NoSQL and Couchbase in particular.
The Apache Cassandra was one type of product used in our company for a couple of use-cases.
The Aerospike is something we [analyzed] not so long time ago as an interesting alternative, due to its performance characteristics.
The Oracle Coherence was and is still being used for [the] distributed caching use-case, but it will be replaced eventually by Couchbase.
Though each of these products [has] its own strengths and weaknesses, we prefer sticking to Couchbase because of [the] experience we have with this product and because it is cost-effective for our organization.

Do you think Couchbase delivers good value for the price?

Yes

Are you happy with Couchbase's feature set?

Yes

Did Couchbase live up to sales and marketing promises?

Yes

Did implementation of Couchbase go as expected?

I wasn't involved with the implementation phase

Would you buy Couchbase again?

Yes

Well suited:
- Distributed cache
- storage of data by customer, where the get/set operations are very frequently used.
- Simple reporting, when non-complex reports are required with aggregations like count/sum.

Not well suited:
- Complex reporting (data warehouse): there are other relational DB [that] are more appropriate for this use-case.
- Applications using complex relational schema, requiring various joins between tables...
Any use-case where the most common type of operation is storing data based on some sort of identifier.
Virtually any use-case is appropriate for Couchbase usage, with exception of application. Though this kind of use-case is partially covered by n1ql support (similar to SQL)

Couchbase Feature Ratings

Performance
9
Availability
9
Concurrency
10
Security
10
Scalability
10
Data model flexibility
10
Deployment model flexibility
9

Using Couchbase

100 - There is a wide range of roles and teams where Couchbase is used.
Just a few examples:
- Devops - responsible with deployment Couchbase in various environments (pre-production, production). Provisioning hardware, maintaining deployment pipelines, upgrades, etc.
- Developers - interacting with couchbase client API and developing applications that use Couchbase as a storage.
- Architects - taking decisions of when using couchbase is a good fit depending on application type.
- Managers - approving scale-out for supporting increased load. This involves increased license cost.
10 - The support is done mainly by a small devops team, which make sure that the couchbase servers used in development environment and production environment are stable, need upgrade or scale-out.
There is also an in-house support from developers responsible for maintaining various internal open-source projects related to various libraries related to couchbase interaction.
  • Low latency read-write storage (distributed caching)
  • Distributed session storage
  • Distributed storage for scheduled jobs
  • Customer activity tracking storage
  • Promotional platform for real-time personalised marketing promotions
  • High performant distributed execution of scheduled jobs
  • Second level distributed cache for reducing downstream load
  • Replacing relational storage used for various business flows with Couchbase