TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

The Architecture of Serverless Data Systems

147 点作者 orangechairs超过 1 年前

7 条评论

Dave3of5超过 1 年前
A bit too waffling for me to read all but I would like to make a small comment.<p>Why are more and more devs trying to use s3 as a general purpose DB?<p>Working on a system right now where the architects have made this mistake it has insanely poor performance (High latency) and lack any proper ACID compliance. I&#x27;ve now been asked to &quot;make it faster&quot; and the answer is to switch back to an actual DBMS.<p>&gt; Top tier SaaS services like S3 are able to deliver amazing simplicity, reliability, durability, scalability, and low price because their technologies are structurally oriented to deliver those things. Serving customers over large resource pools provides unparalleled efficiency and reliability at scale<p>In terms of simplicity using s3 is anything but simple. Sure the CRUD api is simple but there are a bunch of gotchas. What about transactionality, partial updates, running multi document queries, consistency of the whole set of documents. You have to rewrite a whole DBMS on top of s3 itself or use redshift to get these things.<p>In terms of scalability there are, limits 3500rps per key prefix.<p>It&#x27;s actually not lower price than a DBMS when you have a lot of data.
评论 #38276168 未加载
评论 #38285099 未加载
评论 #38275091 未加载
bob1029超过 1 年前
See also - Sql Server Hyperscale. We&#x27;ve been using this for about 18 months now and it feels like it has saved us a lot of hassle.<p><a href="https:&#x2F;&#x2F;learn.microsoft.com&#x2F;en-us&#x2F;azure&#x2F;azure-sql&#x2F;database&#x2F;hyperscale-architecture" rel="nofollow noreferrer">https:&#x2F;&#x2F;learn.microsoft.com&#x2F;en-us&#x2F;azure&#x2F;azure-sql&#x2F;database&#x2F;h...</a><p>The <i>only</i> downside we can spot so far is the presence of a 100mb&#x2F;s throttle for txn log writes in order to satisfy replication requirements. Beyond this, it is indistinguishable from an express instance on a local dev machine. You lose some of the other on-prem features when you go managed, but most new applications don&#x27;t need that stuff anymore. The message broker pieces are the only ones I miss, but there are a lot of other managed options for that, and you can still DIY with a simple Messages table and 3-4 stored procedures.<p>On the read &amp; reporting side, I see no downsides. You mostly get OLAP+OLTP in the same abstraction without much headache. If someone really wanted to go absolutely bananas with reporting queries, data mining, AI crap, whatever, you could give them their own geo replica in a completely different region of the planet. Just make sure they aren&#x27;t doing any non-queries and everything should be fine.<p>For large binary data, we rely on external blob storage and URLs. The txn log write limit shouldn&#x27;t feel like much of a restriction if you are using the right tools for each part of the job. Think about how many blob URLs you could fit within 100 megabytes. If you make assumptions about URL structure, you can increase this by a factor of 2-3x.
nathants超过 1 年前
serverless compute and storage are a great thing. the chronic silverbullitus that plagues industry since the dawn of time doesn’t change that. nonsensically bad systems will be built.<p>lambda is very reliable, more so than ec2. for serious systems, use it to manage servers.<p>s3 and dynamo are the same thing with different settings. yes dynamo also adds a kitchen sink, but the only feature you should use is CAS.<p>s3 is x10 cheaper for storage, x10 more expensive per request, x10 slower per request. dynamo is the opposite.<p>many great system designs can run properly serverless, ie without any ec2 or ec2-spot. they are simpler. serious systems require you to understand what lambda&#x2F;s3&#x2F;dynamo give you and what they do not.<p>more systems can be designed by adding ec2 and&#x2F;or ec2-spot. the same understanding is required.<p>s3&#x2F;dynamo are equidistant from every point within that region. there is no cross az bandwidth cost. there is no bottleneck. there is no contention. a lot of cool designs fall out of this.<p>lambda can burst to thousands of cpus in a second, for a second.<p>ec2-spot boots in 30s, and often has very large nvme physically attached.<p>there’s nothing fundamentally wrong with misusing all these tools and building inefficient systems. the builders will probably do better on their next system. if the owners wanted it done better initially, they could have hired more expensive builders.
fergie超过 1 年前
Two observations:<p>- &quot;serverless&quot; is a really bad name for these systems. As is often commented, some variation of &quot;somebody-elses-server&quot; would be better.<p>- Cost wasn&#x27;t mentioned in the article, but the cost of renting databases and search-indices is still really high, even though these technologies are no longer the new hotness.
评论 #38276017 未加载
评论 #38274674 未加载
评论 #38274428 未加载
评论 #38274442 未加载
评论 #38278518 未加载
评论 #38274394 未加载
评论 #38276011 未加载
评论 #38274929 未加载
threeseed超过 1 年前
I wasn&#x27;t aware of 800G&#x2F;1TB networking before.<p>Very strange world that transferring data between servers is 2x as fast as reading from a PCI bus.
评论 #38273723 未加载
评论 #38276163 未加载
socketcluster超过 1 年前
I&#x27;m currently working on a server-less, no-code multi-tenant platform. I&#x27;m still unsure if I should aim for full no-code or go for low-code. So far it&#x27;s possible to build complex apps with it using only HTML tags (web components). Although it also exposes a CRUD interface, I haven&#x27;t promoted this aspect as I feel it detracts from the huge time-saving and maintenance benefits which come with building apps using only declarative HTML + CSS.<p>The other thing I&#x27;ve been careful about is to ensure that the backend is fully no-code. As soon as you allow the user to execute custom code on your backend, it opens up security risks with multi-tenancy. The risk doesn&#x27;t fully go away when you containerize as vulnerabilities have been encountered in the past in Docker which allow escaping the sandbox.<p>In my case, although the user can customize back end behavior, they can only do so in a highly constrained way using well defined parameters, not custom code. It saves a lot of effort not having to write a VM or restrict each container to a single host.
评论 #38274530 未加载
irq-1超过 1 年前
&gt; There is also V8 isolates where tenants can share the same V8 process but in separate lightweight contexts, though I haven’t yet seen this in data systems.<p>Cloudflare does this. <a href="https:&#x2F;&#x2F;developers.cloudflare.com&#x2F;durable-objects&#x2F;api&#x2F;transactional-storage-api&#x2F;" rel="nofollow noreferrer">https:&#x2F;&#x2F;developers.cloudflare.com&#x2F;durable-objects&#x2F;api&#x2F;transa...</a>