The NoSQL revolution was born in 2006 with the publication of the Google BigTable paper as internet scale applications could not get the performance, agility and availability they needed from relational databases like Oracle. The following are now key considerations for modern applications:
- Scale-out on commodity hardware in order to grow with the business and support millions of operations/sec at sub-millisecond latencies
- Flexibility of data model and access patterns so that the database can change with a rapidly evolving business environment
- 24×7 availability as even a few seconds of downtime means lost customers and revenue
MongoDB, one of the earliest entrants into the NoSQL space, has enjoyed success despite significant shortcomings in its ability to scale-out, or to provide flexibility of access, or to provide high availability at a reasonable cost. Couchbase, a slightly later entrant to the NoSQL market, with a distributed architecture from day one provides scale-out, flexibility and high availability far better than MongoDB does. Couchbase has many customers that either chose it over MongoDB in bake-offs or switched once they realized MongoDB was not able to keep up. One such customer is Viber, a global messaging platform, that made the switch to Couchbase from MongoDB:
“We found that MongoDB’s NoSQL technology could not adequately support the company’s growing data management needs. After investigating multiple database technologies such as Cassandra and Amazon’s DynamoDB, including more combinations of database plus caching layers, we deployed Couchbase. With Couchbase, we’re now able to handle hundreds of thousands of ops-per-second – an order of magnitude more than our previous solution.” Amir Ish-Shalom, Chief Architect, Viber
Learn Why Couchbase is Better
Some of the key highlights of how Couchbase is better for scale-out, agility and high availability are:
- Couchbase has automatic sharding versus MongoDB’s manual (and laborious) sharding where a shard key has to be chosen per collection.
- Couchbase is flexible and adapts to new workloads by allowing global secondary indexes that are partitioned differently than data. MongoDB is rigid and optimized only for a single access pattern – all other access patterns result in scatter-gather across all nodes.
- Couchbase is scale-agnostic and all features work at all levels of scale. MongoDB on the other hand is biased towards a single-shard set-up and many critical features such as Joins and Grouping do not work on multi-shard setups.
- Couchbase can scale-out by simply adding a single node. MongoDB on the other hand requires addition of at least 3 nodes to add another shard to the cluster resulting in a very high TCO.
- Couchbase automatic failover is very fast and robust as it is based on multiple signals of liveness. MongoDB failover is much slower and fragile as it is based only on heartbeats between replica-set nodes.
There is a lot more to why Couchbase is better for scale-out and uptime, for which we encourage you to download the whitepaper from the link below and decide for yourself.