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.

Architecture decisions in Neon, a serverless Postgres service

55 pointsby shenli3514about 1 year ago

3 comments

imslavkoabout 1 year ago
Thoroughly enjoyed the article since I have heard about Neon but never understood what it offers on the technical level over other PG-compatible projects.<p>The article mentions that a consequence of separating storage from compute is that compute nodes cache hot pages in memory and load cold pages from object storage (like S3?) when needed. Does anyone know what are the consequences of this decision. In case of a query that touches multiple rarely used pages, would that incur high latency and ingress? How does that penalty compare to a vanilla postgres running on AWS and storing pages on EBS?
评论 #39986642 未加载
Morelesshellabout 1 year ago
I&#x27;m more curious how someone is allowed to have the time and money to build this?<p>I would love to spend 1-3 years with other good people to just build good tech :(
评论 #39989887 未加载
评论 #39997039 未加载
jmullabout 1 year ago
I&#x27;m pretty bullish on this tech.<p>A clean, low-friction separation of storage and compute for a top-tier database like Postgres is huge. I think it will take some time for the implications to sink in though, because it changes some assumptions about how to integrate a databases with a system that are so fundamental that we rarely think about it... (not to mention, it probably doesn&#x27;t make sense to change existing systems, where the fundamental system decisions have already been made.)<p>We tend to centralize the database in system design because they are complex and expensive to run, and you can amortize those costs the more you put into a single database. But of course, that also makes the central database bigger, more complex and more expensive. And once everything is in a central store, we tend to bind everything together (with joins, references, procs, etc. Each step in that direction tends to make sense on its own, but the end result is the &quot;big ball of mud&quot; architecture where everything is interconnected and there&#x27;s no separation of concerns, which makes the system fragile and increasingly difficult to change.<p>With this tech the pressure to centralize the database is relieved.<p>E.g., if you have a situation where you are adding some new, logically distinct data to your system -- maybe just a few tables and maybe with a variable load, especially at first -- traditionally you probably would lean hard toward adding this to an existing central database since the overhead of spinning up and running a new one would be prohibitive. But now you can just make that a separate database -- spinning up a managed one is easy and you only need to pay for as much storage and compute as you actually need to use (which is really about the same as if you had put the tables in an existing central database anyway).<p>Of course, systems would still tend to have significant central data, but that could be based on actual app concerns, not operational ones.<p>Anyway, I&#x27;m loving this and can&#x27;t wait to see the long term impact.<p>You can have as many databases as logically makes senseseparate data logically without exploding the operational cost of your system. E.g. you can spin out a separate a database that has light (or even no load) most of the time yet can seamlessly scale to heavy load. And it can do this independent of how much data is in it, and you don&#x27;t need to worry about it&#x27;s affect on day-to-day data access in your system since you
评论 #39992591 未加载
评论 #39997203 未加载