Consistency is Consistently Undervalued
Amen. Whether or not the article&#x27;s example is a good one, in a world without consistency you need to worry about state between _any_ two database operations in the system, so there&#x27;s nearly unlimited opportunity for this class of error in almost any application found in the real world.<p>The truly nefarious aspect of NoSQL stores is that the problems that arise from giving up ACID often aren&#x27;t obvious until your new product is actually in production and failures that you didn&#x27;t plan for start to appear.<p>Once you&#x27;re running a NoSQL system of considerable size, you&#x27;re going to have a sizable number of engineers who are spending significant amounts of their time thinking about and repairing data integrity problems that arise from even minor failures that are happening every single day. There is really no general fix for this; it&#x27;s going to be a persistent operational tax that stays with your company as long as the NoSQL store does.<p>The same isn&#x27;t true for an ACID database. You may eventually run into scaling bottle necks (although not nearly as soon as most people think), transactions are darn close to magic in how much default resilience they give to your system. If an unexpected failure occurs, you can roll back the transaction that you&#x27;re running in, and in almost 100% of cases this turns out to be a &quot;good enough&quot; solution, leaving your application state sane and data integrity sound.<p>In the long run, ACID databases pay dividends in allowing an engineering team to stay focused on building new features instead of getting lost in the weeds of never ending daily operational work. NoSQL stores on the other hand are more akin to an unpaid credit card bill, with unpaid interest continuing to compound month after month.