From one piece Designing Data-intensive Applications with Martin Kleppmann 26 beliefs · youtube.com
-
Their words
It's more that for myself, the process of writing is the way how I figure things out. And figuring things out is really my goal here. So, I'm I'm trying to figure it out in my own heads, and for that I just have to write it myself.
-
Their words
Often people in industry I feel like sort of have short circuit reasoning. Like don't maybe don't quite reason something through from first principles but just like oh I heard this from a conference talk I'm just going to go with that
-
Their words
We don't ask the students to write essays because we love reading their amazing essays. We ask them to write essays because they we want them to go through a thought process, which helps them learn something.
+ 23 more
-
Their words
if a revoked user still wants to, say, vandalize a document, they can just backdate their edits, give it an earlier timestamp. So, relying on clocks is absolutely useless here because people can forge the timestamps from those clocks and thereby then potentially undermine the access control mechanism.
-
Their words
there I feel like in academia, I have the freedom to work on things that go against this commercial incentive of companies and say like, "Actually, no, I'm going to do what I think is right for the users."
-
Their words
local-first software, which is this idea that we want to take away a bit of the power from cloud operators and give it back to end users. So, end users should be more in control of their own data and less dependent on cloud services for providing the applications and the data that that the users need.
-
Their words
software as a service businesses, for example the whole reason why they can charge a subscription is because they are able to essentially hold a gun to the customer's head and say, "Pay us at your subscription, otherwise we will delete all your data."
-
Their words
One is that the LLMs are getting increasingly good at writing these proofs. And if we don't have to write the proof by hand as humans, it just becomes feasible to do them in situations where previously it would have not been economical.
-
korrents.com
AI-written code makes formal proof necessary, because human review of all that generated code becomes the bottleneck.Their words
But also LLMs increase the need for these formal proofs because, you know, we're live coding a bunch of stuff. If we have to manually review all of that code, then that will become the bottleneck.
-
Their words
But a proof can reason about potentially infinite state spaces. So, it can tell you things about like every possible thing that could possibly happen in the entire universe.
-
Their words
people say that uh you get into tech in order to change the world. If you want to change the world, then thinking about the impact that your technologies have on the world is part of your job.
-
Their words
In particular, for example, coverage of MapReduce was quite detailed in the first edition. But basically, MapReduce is dead. Nobody uses it anymore.
-
Their words
And so, the goal of this chapter is really just to give people the information in order to make an educated decision. But I don't want to make that decision for people. That's for businesses themselves to decide.
-
korrents.com
Clocks are right most of the time, and that is precisely why a distributed system may never rely on them.Their words
it's very easy to assume that your clocks are correct and most of the times the clocks are pretty correct but we just can't rely on it because actually they're just not precise enough uh on the whole.
-
Their words
we just assume that there's no upper bound on how long it might take for a message to go over the network. So, you send a message, it might arrive within 100 microseconds, or it might take 10 years.
-
korrents.com
Replication earns its place even in a small system, because what it buys is fault tolerance rather than scale.Their words
And uh replication is still relevant even at smaller scales because that's for fault tolerance, that's not for scalability.
-
Their words
But, at least this sort of sharding across multiple machines is maybe become less of a pressing issue just because more and more workloads can just run on a single machine. Some people still have very large-scale workloads that do have to be sharded across multiple machines. So, it's not going away entirely.
-
Their words
Maybe as AI writes more and more code of our code, it's less about like the details of how you express logic in a particular programming language and much more about those kinds of high-level trade-offs.
-
Their words
So, what if geopolitics was to go horribly wrong and tensions escalate and Europe find itself suddenly locked out of US cloud services? I hope that doesn't happen. I still think it's fairly unlikely, but it's no longer unthinkable.
-
Their words
And so those are those places where I feel like knowing a bit about the the internals is actually like a superpower.
-
Their words
But, somebody still has to build those lower-level abstractions and from lower-level components. Somebody's got to implement the cloud services.
-
Their words
You're building higher-level business logic, actually I think it's just fine for people not to care about memory management.
-
Their words
And now suddenly people are building databases on top of object stores, for example. And now the replication happens at the object store level, no longer at the database level.
-
Their words
generally, like you just want the the cost and the computing capacity to be roughly proportional to the load that you have. And at the low end, that means actually being able to scale down to something that is extremely cheap to run.
-
korrents.com
Scalability is not a property a system has; it is the set of mechanisms it has for coping with a change in load.Their words
Scalability is just like what mechanisms we have for dealing with changes in load. If load increases, how can we add computing capacity to a system, for example, so that the system still continues working?
-
Their words
for me, reliability means fault tolerance primarily. So, meaning that a system should, on the whole, continue working even if like a network link is interrupted or a node crashes or something like that.