TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

A history of the distributed transactional database

105 pointsby evanweaverover 6 years ago

10 comments

zzzcpanover 6 years ago
&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.<p>In all those fraud cases banks were actually running ACID databases as they always do. Because ACID has nothing to do with &quot;external consistency&quot;, unless you can run it in a human brain, which you can&#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&#x27;s only limited to the application, but not beyond that. With all the frauds and double spending problems remaining unsolved.<p>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&#x27;t even show viability in multi datacenter deployments at the moment, forcing vendors to degrade into weak consistency models in such setups.
评论 #18603843 未加载
evanweaverover 6 years ago
For further reading, Dan Abadi&#x27;s post at <a href="http:&#x2F;&#x2F;dbmsmusings.blogspot.com&#x2F;2018&#x2F;09&#x2F;newsql-database-systems-are-failing-to.html" rel="nofollow">http:&#x2F;&#x2F;dbmsmusings.blogspot.com&#x2F;2018&#x2F;09&#x2F;newsql-database-syst...</a> addresses the Spanner issues more directly.<p>I don&#x27;t think there&#x27;s a great reference for the Percolator transaction architecture specifically, but there is a brief description here: <a href="https:&#x2F;&#x2F;blog.octo.com&#x2F;en&#x2F;my-reading-of-percolator-architecture-a-google-search-engine-component&#x2F;" rel="nofollow">https:&#x2F;&#x2F;blog.octo.com&#x2F;en&#x2F;my-reading-of-percolator-architectu...</a><p>One thing I learned recently is that FoundationDB is essentially the Percolator model (timestamp oracle), even though FoundationDB predated the Percolator paper.
评论 #18602758 未加载
spullaraover 6 years ago
I was using IBM DB&#x2F;2 Parallel Edition in 1995 at Trans Union for a year 2000 project to move off the mainframe. It was running on 60 RS&#x2F;6000 SP2s. I was hoping the blog post would go further back in time.<p><a href="https:&#x2F;&#x2F;pdfs.semanticscholar.org&#x2F;9c08&#x2F;4a56c1c625da116eca474208d9780539ceff.pdf" rel="nofollow">https:&#x2F;&#x2F;pdfs.semanticscholar.org&#x2F;9c08&#x2F;4a56c1c625da116eca4742...</a>
wmfover 6 years ago
It&#x27;s kinda sad that Tandem and similar work has been forgotten. I&#x27;ve wondered what we could learn from such history and never gotten a clear answer.
评论 #18604602 未加载
评论 #18603523 未加载
dongxuover 6 years ago
TiDB developer here,<p>&#x27;This model is equivalent to the multiprocessor RDBMS—which also uses a single physical clock, because it’s a single machine—but the system bus is replaced by the network. In practice, these systems give up multi-region scale out and are confined to a single datacenter.&#x27;<p>I don&#x27;t think so, although Percolaotor has a single point of physical clock, but it is easy to eliminate the SPOF problem by using high-availability algorithms such as Raft or Paxos (Just like the design in TiDB). On the other hand, the strong consistency across multiple data centers, I think, without hardware devices such as TrueTime, it is difficult to have low latency and strong consistency while allowing writes happen in multiple data centers at the same time. The more realistic situation is that there is a primary data center (where both read and write occur), and multiple data centers guarantee high availability with strong consistency, we can achieve this goal by scheduling Paxos or Raft leader to the primary data center.
iblaineover 6 years ago
TiDB should be in here but trying to keep up with the latest trends is overwhelming.
评论 #18603910 未加载
majidazimiover 6 years ago
Why the hell does everyone make a banking example when they want to talk about transactions? BANKS RUN ON EVENTUAL CONSISTENCY, PERIOD.<p>Another point worth mentioning is that, single transaction coordinator model is undervalued in community. Majority of systems have the following query pattern (sorted descending):<p>1. Single key read --&gt; you don&#x27;t need to contact coordinator<p>2. Single key write --&gt; you don&#x27;t need to contact coordinator. OCC with simple version number works here.<p>3. Multi-key asynchronous write (updating second, third keys using a pub&#x2F;sub infrastructure) --&gt; you don&#x27;t need to contact coordinator in this case.<p>4. True multi-key transactions that should happen atomically --&gt; need to contact coordinator<p>If a single coordinator can process 20-30K&#x2F;s transactions of category 4, then total throughput of the system would be around 300K queries per second which is sufficient for many workloads.
评论 #18606389 未加载
knownover 6 years ago
Cap theorem states that it is impossible for a distributed data store to simultaneously provide more than two out off Consistency, Availability and Partition tolerance<p><a href="https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;CAP_theorem" rel="nofollow">https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;CAP_theorem</a>
doomboltover 6 years ago
Apache Ignite is an ACID key-value CP database that does not depend on clock.
likeabbasover 6 years ago
Where does FoundationDB fit with this?