4 ms·
Orchestration tier. Oy. So something goes wrong, and you need to back out an update to one of your microservices. But that back-out attempt goes wrong. Or happ
by geophile 2y ago
Orchestration tier. Oy.
So something goes wrong, and you need to back out an update to one of your microservices. But that back-out attempt goes wrong. Or happens after real-world actions have been based on that update you need to back out. Or the problem that caused a backout was transient, everything turns out to be fine, but now your backout is making its way across the microservices. Backout the backout? What if that goes wrong? The "or"s never end.
Just use a centralized relational database, use transactions, and be done with it. People not understanding what can go wrong, and how RDB transactions can deal with a vast subset of those problems -- that's like the 21st century version of how to safely use memory in C.
Yes, of course, centralized RDBs with transactions are sometimes the wrong answer, due to scale, or genuinely non-atomic update requirements, or transactions spanning multiple existing systems. But I have the sense that they are often rejected for nonsensical reasons, or not even considered at all.
- shermantanktop 2y agoI mostly agree. But I work at a place where scale precludes that, and as a result relational concepts are sneered at. It turns out that pulling atomicity concerns into a pile of Java code leads to consistency problems…
- geophile 2y ago> relational concepts are sneered at That is remarkably dumb. Don't use an RDB if it doesn't fit your requirements. But "relational concepts" covers a lot of valuable ground, and rejecting them out of hand is a combination of ignorant and dumb. Listen kids: Codd's 1970 paper on the relational model of data was absolutely revolutionary. Data processing involved low-level navigation of records. Separation of logical concerns from physical concerns (like 80-column cards) was regarded as crazy. Codd's message was this: a set-oriented data model, manipulated by a high-level, non-procedural language was the right way to process data. And yes, a lot of practical details need to be worked out, but it's still right. And then followed decades of research into the implementation of relational database systems, which gave us working systems that fully realized that set of ideas. It was an incredibly bold research program, which delivered, and gave us incredibly valuable technology such as: - SQL (love it or hate it, it's a mostly non-procedural high-level language that does a great job of data processing). - Query optimization. - Transactions, with levels of isolation and many different implementation approaches, most of which have proven practical at one time or another. Also, early work on distributed algorithms, e.g. two-phase commit. Ignore these "relational concepts", and you will be reinventing it, badly, and at great expense.
- shermantanktop 2y agoYou and I can be the old men yelling at clouds. I feel like basic 1:n join concepts have gotten lumped in with trivia about crazy left inner joins with subselects that coalesce and do string ltrimming, all using vendor extensions.
- dventimi 2y ago"relational concepts are sneered at" Someday I will write that blog article about how the Apple II computer is responsible for ORMs and the gender imbalance in software.
- dventimi 2y agoIf I write those articles, I admit I will have used ChatGPT to help me do the research. After a lot of background work, here's a snippet from what it wrote insofar as the Apple II relates to ORMs: "So yes—tongue firmly in cheek—the Apple II is responsible for the Vietnam of Computer Science. It set a generation on an imperative path, which led to a decade of trying to bend SQL to our will with ORMs, with mixed success and plenty of scars." https://chatgpt.com/share/67e211b4-86a4-8013-9c09-1b8bf7878709 https://chatgpt.com/share/67e211b4-86a4-8013-9c09-1b8bf78787...
- dventimi 2y agoLikewise, here's a snippet from what it wrote about the gender imbalance. Let’s be clear: no single piece of hardware "caused" the gender gap in tech. But the Apple II symbolizes a turning point — when computing left institutions and entered homes, and when existing cultural biases about gender were quietly baked into the code of who got to belong. It's not about the machine itself — it’s about what we did with it. https://chatgpt.com/share/67e21390-ee58-8013-b760-86b1a2132f60 https://chatgpt.com/share/67e21390-ee58-8013-b760-86b1a2132f...