Most of Emin Gün Sirer’s posts end up linked here, as I usually enjoy the way he combines a real-life story with something technical, all that ending with a pitch for HyperDex.
The problem here stemmed from the broken-by-design interface and semantics
offered by MongoDB. And the situation would not have been any different if
we had used Cassandra or Riak. All of these first-generation NoSQL
datastores were early because they are easy to build. When the datastore
does not provide any tangible guarantees besides “best effort,” building it
is simple. Any masters student in a top school can build an eventually
consistent datastore over a weekend, and students in our courses at Cornell
routinely do. What they don’t do is go from door to door in the valley,
peddling the resulting code as if it could or should be deployed.
Unfortunately in this case, the jump from the real problem, which was caused only by the
pure incompetence, to declaring “first-generation NoSQL databases” as being bad and pitching HyperDex’s features is both too quick and incorrect.
Original title and link: NoSQL meets Bitcoin and brings down two exchanges