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.

Distributed == Relational

61 pointsby crowdhailer10 months ago

6 comments

hughesjj10 months ago
&gt; Truly efficient distributed systems are most naturally expressed through functions as triggers invoked from upsert operations on addressable relations<p>O_o<p>Just because you can express something as an &#x27;upsert&#x27;, that doesn&#x27;t make it &#x27;relational&#x27;. Transactions exist outside the concept of rdbms&#x27;. The article doesn&#x27;t mention relational algebras once.<p>Yes, a lot of terminology and math in rdbms&#x27; are useful in distributed computing, but you have the causality backwards.<p>I don&#x27;t get all the author&#x27;s hate for sql. It&#x27;s one of the most successful declarative languages ever.<p>Nothing prevents you from modelling a distributed system as a set of key-value stores (as we often do today), the idea of a message queue is independent of using a database as the mechanism to do so. &#x27;using postgress&#x27;&#x2F;rdbms doesn&#x27;t mean your entire system is &#x27;relational&#x27;.<p>Wouldn&#x27;t it be better for D to lazily request information from b and c on your behalf in the &#x27;maximally efficient&#x27; case? Given D is where the computation is run and it could cache the results. From an auth perspective that seems simpler than cross wiring connections between all nodes as proposed.<p>All this talk and nothing about n-phase commits or Byzantine generals&#x2F;any tie backs to the typical way of talking about distributed computing, but they dance around the subjects.<p>IDK. Sorry man. Didn&#x27;t like the article, which feels bad because you seem passionate about the presentation of it.<p><i>Edit</i>: looked through the sub stacks other posts. They do kinda talk about relational algebra in a subsequent post, but overall I&#x27;m curious if the author has looked into dataflow programming before. It seems like the author is kind of trying to describe that concept but with a vocabulary mostly consisting of rdbms terminology and history<p><a href="https:&#x2F;&#x2F;en.m.wikipedia.org&#x2F;wiki&#x2F;Dataflow_programming" rel="nofollow">https:&#x2F;&#x2F;en.m.wikipedia.org&#x2F;wiki&#x2F;Dataflow_programming</a>
评论 #41231289 未加载
评论 #41235493 未加载
LudwigNagasena10 months ago
In the first diagram I see well-encapsulated services B, C and D and their orchestrator A.<p>In the second diagram I see ill-defined responsibilities and a looming callback hell.<p>What if we could look at more concrete examples with a dozen services that model a real process? Maybe that would elucidate the benefits.
评论 #41241716 未加载
xpe10 months ago
&gt; A distributed computing system, then, is naturally expressed as a set of relational stores with triggers.<p>1. This statement is too big of a leap; it doesn’t follow from the setup which only required an upsert operation and key&#x2F;value storage. Nothing in the setup example requires relational algebra. Agree?<p>2. This seems like a hasty generalization. Is the author claiming that the toy example is representative of distributed systems? If so, what aspects?<p>IMO, the post started strong but fizzled; this is why I’m giving pointed feedback.
brandonbloom10 months ago
The request&#x2F;response optimization discussed in the first half of this post has been explored quite a bit in the context of Object-Oriented Programming and Actors, where the desired feature is called &quot;Promise Pipelining&quot;:<p><a href="http:&#x2F;&#x2F;www.erights.org&#x2F;elib&#x2F;distrib&#x2F;pipeline.html" rel="nofollow">http:&#x2F;&#x2F;www.erights.org&#x2F;elib&#x2F;distrib&#x2F;pipeline.html</a><p>Outside of the E programming language and in the realm of language-agnostic tooling, you can find promise pipelining in some RPC frameworks, such as Cap&#x27;n Proto:<p><a href="https:&#x2F;&#x2F;capnproto.org&#x2F;rpc.html" rel="nofollow">https:&#x2F;&#x2F;capnproto.org&#x2F;rpc.html</a><p>Generally, this work comes from the Object-Capabilities community.
评论 #41233249 未加载
two_handfuls10 months ago
This article claims that the sequential messages of the first examples can be replaced by database operations for performance.<p>I would like to see someone run the experiment. Databases come with their own overheads, after all.
xpe10 months ago
If the author is here, I’d suggest naming the arguments for D to be (b, c) so as to correspond with B, C.