Not too long ago, we covered an article about how NoSQL (MongoDB) design flaws brought down two Bitcoin exchanges, Flexcoin or Poloniex. However, according to Shane K. Johnson, the conclusion that NoSQL design was to blame was determined too quickly, and without enough evidence. In other words, Johnson argues that the failure was one of assumptions:
The real bitcoin / NoSQL failure did not occur at Flexcoin or Poloniex. It was a failed attempt to associate their failures with NoSQL.
Johnson references a response to Sirer's original post from Alex Popescu, in which Popescu suggests that the problem was incompetent development, rather than NoSQL issues. Specifically, Popescu points to two major problems with Sirer's argument:
- ACID guarantees would have solved Sirer's problem
- The NoSQL databases Sirer refers to provide solutions to his problem
Beyond jumping to conclusions, then, Johnson debunks a number of points made in Sirer's original. For example, Johnson argues that the example of an application processing ATM withdrawals is flawed, and that the description of how MongoDB might handle such an application is inaccurate.
Johnson doesn't go so far as to imply that Sirer's original is completely fabricated, or anything like that; it's just not a fully-formed argument, because "the dots were not connected." Johnson sums it up like this:
- There were failures.
- Here is a poor example.
- Here is an inaccurate description.
- The problem is MongoDB.