<story><title>A history of the distributed transactional database</title><url>https://www.infoq.com/articles/relational-nosql-fauna</url></story><parent_chain></parent_chain><comment><author>zzzcpan</author><text>&amp;gt; This is not at all a theoretical problem. Deliberately inducing withdrawal races at ATMs is a widely reported type of fraud. Thus, databases need “external consistency”, colloquially known as ACID.&lt;p&gt;In all those fraud cases banks were actually running ACID databases as they always do. Because ACID has nothing to do with &amp;quot;external consistency&amp;quot;, unless you can run it in a human brain, which you can&amp;#x27;t. Interactions with humans can only be eventually consistent. But nobody even bothers to have ACID all the way to the web browser or APIs, so it&amp;#x27;s only limited to the application, but not beyond that. With all the frauds and double spending problems remaining unsolved.&lt;p&gt;Overall the usual FaunaDB attacks on other systems, especially AP. Strong eventual consistency of AP systems is actually much stronger, than ACID and is much much easier to verify and AP is where the cutting edge of distributed systems research happens. But more importantly, SEC can offer the best theoretically possible performance and latency for multi datancenter deployments. While distributed ACID transactions don&amp;#x27;t even show viability in multi datacenter deployments at the moment, forcing vendors to degrade into weak consistency models in such setups.</text></comment>
<story><title>A history of the distributed transactional database</title><url>https://www.infoq.com/articles/relational-nosql-fauna</url></story><parent_chain></parent_chain><comment><author>evanweaver</author><text>For further reading, Dan Abadi&amp;#x27;s post at &lt;a href=&quot;http:&amp;#x2F;&amp;#x2F;dbmsmusings.blogspot.com&amp;#x2F;2018&amp;#x2F;09&amp;#x2F;newsql-database-systems-are-failing-to.html&quot; rel=&quot;nofollow&quot;&gt;http:&amp;#x2F;&amp;#x2F;dbmsmusings.blogspot.com&amp;#x2F;2018&amp;#x2F;09&amp;#x2F;newsql-database-syst...&lt;/a&gt; addresses the Spanner issues more directly.&lt;p&gt;I don&amp;#x27;t think there&amp;#x27;s a great reference for the Percolator transaction architecture specifically, but there is a brief description here: &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;blog.octo.com&amp;#x2F;en&amp;#x2F;my-reading-of-percolator-architecture-a-google-search-engine-component&amp;#x2F;&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;blog.octo.com&amp;#x2F;en&amp;#x2F;my-reading-of-percolator-architectu...&lt;/a&gt;&lt;p&gt;One thing I learned recently is that FoundationDB is essentially the Percolator model (timestamp oracle), even though FoundationDB predated the Percolator paper.</text></comment>