opfmis.blogg.se

Designing data intensive applications the big ideas behind reliable
Designing data intensive applications the big ideas behind reliable







designing data intensive applications the big ideas behind reliable

A book therefore suitable for Architects, but also for passionate back-end developers who want to be more involved in discussions / design.Īfter that he puts everything together to propose his vision of how to implement a complex system that is, however, also reliable and maintainable over time. He doesn’t show any code (Java, C #, etc) but stays at a higher level. The level of detail that he manages to achieve is impressive, thanks also to the simple, real, and easy to understand examples.

designing data intensive applications the big ideas behind reliable

Speaking of distributed systems, he explains the pros and cons of messaging systems like RabbitMQ and Kafka, the mistakes you shouldn’t make and that things aren’t as simple as they seem.

designing data intensive applications the big ideas behind reliable designing data intensive applications the big ideas behind reliable

Moving from the uselessness of the term ACID and the CAP theorem (which we used to think they were the “Bible”), to the explanation of 2PC (2 Phase Commit) and XA, serialization, partitioning, sharding, and the fundamental concept of ” consensus “, manages to clarify the ideas on the most common problems that we find at work. In addition, he explains in detail how local databases work, therefore all the concepts of “transaction”, up to distributed databases (eg CosmosDB, Key-Value stores, etc). Starting from a long way off, he clarifies the most commonly used terms, such as reliability, scalability, maintainability, ACID, etc. The author, Martin Kleppmann, who if you don’t know him you can also appreciate him for his youtube channel that talks about distributed systems, has the very rare ability to be able to explain very complex concepts in a very simple way. While the book’s ultimate purpose is to give ideas on how to build reliable applications that handle large amounts of data, even the back-end developer working on simpler systems – such as simple APIs – may find it useful. Knowing my passion and interest in distributed systems, a colleague of mine recommended Martin Kleppmann’s book “Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems” which, even if a few years ago, in my opinion it is still very current for those who develop back-end applications and architects who want to migrate their on-promise systems to the Cloud (eg Azure, AWS, etc).









Designing data intensive applications the big ideas behind reliable