

MongoDB Rules Single Node Deployments, Fails to Scale - skjhn
http://blog.couchbase.com/mongodb-rules-single-node-deployments

======
wheaties
Ok, so they used an outdated client and then used a double operation on
Couchbase when comparing to MongoDB. The other part of "doesn't scale" wasn't
addressed at all. I hate MongoDB with a passion (burned too many times) but
even this is just FUD-like without numbers or something to back it up.

C'mon, you guys can do better than that. Just working is enough to show up
Mongo. Seriously, the bar isn't that high.

~~~
jchrisa
Here's the benchmark MongoDB was replying to with their benchmark:
[http://news.avalonconsult.com/2015/03/19/performance_benchma...](http://news.avalonconsult.com/2015/03/19/performance_benchmark/)

TLDR: for highly concurrent workloads on a nine node cluster, Couchbase Server
handles way more traffic than MongoDB without response times slowing down.

------
jchrisa
"This is a sweet spot for MongoDB." Made my day.

Full disclosure -- We've been locking horns with them for a while now, so of
course this feels good.

------
scalesolved
I like and have used both in production, they both have use cases where they
absolutely excel and blow away the competition. It's kind of sad to see both
sides slinging mud, we're all adults and we are able to choose a technology
from our own benchmarks and experiments.

It kind of puts me off of both of them.

~~~
jchrisa
The sad reality is that a little dust-up is probably good for business for
both of us. For me (and probably a bunch of folks on the Mongo side) it's all
in good fun.

------
skjhn
TLDR: MongoDB benchmarked Couchbase Server by having it perform CAS operations
(read + update) while MongoDB performed basic operations (update), they used
an outdated client library that is two years old, and they performed it with
single node deployments.

~~~
codebeaker
MongoDB showing that in the years since this[1] was published that have
learned nothing. Still chasing artificial benchmarks at the expensive of data
safety and either personal or corporate integrity.

[1]:
[http://pastebin.com/raw.php?i=FD3xe6Jt](http://pastebin.com/raw.php?i=FD3xe6Jt)

~~~
towelguy
Does this still applies to MongoDB 3.0? since it seems to be a rewrite with a
new storage engine [1].

[1] [http://www.mongodb.com/blog/post/announcing-
mongodb-30](http://www.mongodb.com/blog/post/announcing-mongodb-30)

~~~
nemo44x
That is based on a pre-2.0 version of MongoDB. The changes and vast
improvements from that time to now are huge.

MongoDB probably got a bit ahead of itself too fast - it wasn't mature and
took a lot of development shortcuts to get features out fast and people
started using it like a mature datastore too fast - and the company behind it
didn't help either. But, without a doubt there have been vast improvements
across the board and I give them credit for spending the last year and a half
not adding many new features but rebuilding the codebase, making it extendable
(pluggable storage engines is a cool thing) and addressing numerous issues.

It still has some issues (b-trees aren't the best implementation imo) but the
codebase is in a state where I expect over the next few years it will be quite
reliable. The tooling around MongoDB has gotten better too. There's still a
ton of ways to shoot yourself in the foot too but the defaults are more
sensible I think now than then.

What they got right is the clients are awesome and the query language is
powerful - especially updates. This matters for a lot of people - it isn't
just a drag race always in terms of performance. Now, with increased
reliability it's becoming something usable for some use cases.

------
616c
I guess it is ... nice to see Couchbase again. I will not speak about them
because I know little. They did open source their components, but in dumping
ground style without full instrumentation, meaning they had inline
instructions with a bunch of shell commands. I checked before submitting this,
and it appears they have cleaned it up a lot, at least using the Android repo
tool apparently. I will have to check it out.

[http://www.couchbase.com/open-source](http://www.couchbase.com/open-source)

But does anyone use Apache CouchDB? I still do see it as one of the more
unique NoSQL systems. I specifically loved the idea of CouchApps, and using it
a neat version-controlled JS web app hosting system and document repository. I
have obviously lost track over the years.

Does anyone use CouchDB seriously? Can they mention if the same raggging about
giant irrecoverable disk consumption and other gripes still apply? Did anyone
consider CouchDB and stick with Couchbase and can explain why?

~~~
jchrisa
CouchDB is growing and maturing. As far as Couchbase development goes, we use
the Apache CouchDB protocol in our mobile products (and interoperate w the
whole ecosystem including PouchDB.)

Our iOS Android Windows and Golang database implementations are all open
source.
[http://developer.couchbase.com/mobile/](http://developer.couchbase.com/mobile/)

~~~
616c
Very cool that you replied, you are one of the founders, right?

Are people directly exposing Couchbase/CouchDB at the frontend? A lot of
people poo-pooed that idea (NEVER EXPOSE DB TO THE INTARWEBS!), which was the
neatest idea, no matter how dangerous, when I first heard of it a few years
ago. Are people doing this?

Thanks for your mobile SDKs. I wanted to learn Erlang for CouchDB, and I saw
your mobile clients and thought that, and PouchDB, would make for a mean
confluence of rapid desktop web and mobile app development.

~~~
jchrisa
Thanks!

It's been a long haul. In my role as an Apache volunteer I added the CouchApp
capabilities into CouchDB (thanks Damien and folks for tolerating me!). After
that we started a company that eventually merged with another NoSQL company to
become Couchbase.

Our technology is inspired by Apache CouchDB (and in some cases compatible
with it) but it is all green stack and open source.

Couchbase Server is for when you have a ton of traffic (or spiky traffic) that
you can't afford to slow down. We power mission critical apps for use cases
like airline booking, market making, social gaming, e-commerce, and CMS.
[http://www.couchbase.com/case-studies](http://www.couchbase.com/case-studies)

Couchbase Mobile is a parallel effort creating peer-to-peer capable native
mobile (and other edge compute) device embedded database with network aware
background sync including conflict management. IBM Cloudant also uses our
model and interops with our client libraries (but our Sync Gateway has an
application API I think is more fun).

Mobile:
[http://developer.couchbase.com/mobile/](http://developer.couchbase.com/mobile/)

It's been out for a year, plenty of early adopters. Bigger names are getting
interested. Ryanair just shipped an app using us, which is fun for me to see:
[https://twitter.com/zgramana/status/581196081637122048](https://twitter.com/zgramana/status/581196081637122048)

------
mushi
I suppose couchbase would prefer benchmarks like their previous ones where
they _overwrote_ the full ten field document with a single new field since
they don't have an update operation.

------
ddorian43
Couchbase, the nodejs of databases. Everything is async. Want indexes updated,
async. Want replication, async. Want commiting stuff to disk, async.

When you try to sync stuff (indexes + disk-commit) the performance will take a
hit.

~~~
jchrisa
Many applications find sync writes to replica memory on other rack(s) to be a
good substitute for sync to disk. The disk sync can be batched every second or
so for higher throughput and your application is safe. Where this really plays
out well is when the disk goes slow for a minute (cloud-style) and the
database stays fast.

------
arthursilva
I'm predicting Couchbase 4.0 eating a fair share of Mongodb cake.

------
nullspace
I did not see a link to the independent benchmarks that was referenced here.
Does anyone have the link?

I would be interested in seeing the actual results and summary of it.

~~~
jchrisa
They promoted it the other day: [http://www.informationweek.com/big-
data/software-platforms/m...](http://www.informationweek.com/big-
data/software-platforms/mongodb-counters-couchbase-performance-
claims/a/d-id/1319696)

------
stingraycharles
The submission title is incomplete; the full title continues with ".. but
fails to scale", which is important.

~~~
skjhn
Good catch. Fixed.

------
stonewhite
Isn't this like, beating the dead horse a bit?

------
randiantech
MongoDB is too much mainstream. Thats unnaceptable i guess.

