Transaction

Building Event-Driven Microservices - Chapter 7 - Stateful-Streaming

Building Event-Driven Microservices - Chapter 7 - Stateful-Streaming

Translations: RU

Event-Driven Microservices need to materialize states. And it comes with the important things to think about. Two approaches to choose from:

  • Internal state store
  • or External state store

Both have pros and cons. Both have important scalability and recovery considerations.

Two approaches for changing data structures:

  • Bebuilding
  • and Migration

Transactions and how to emulate them in order to implement Effectively Once processing.

All of these is disclosed in the Chapter 7 of the book we are currently studying:

Ethereum and Solidity - Lesson 01 - What is Ethereum

Ethereum and Solidity - Lesson 01 - What is Ethereum

Translations: RU

There is quite a high demand for blockchain development these days. We do some experience with it as a company (one complex multi-year project), but personally I only had high-level knowledge and I wanted to improve it…

So me and few of my colleagues have started the course “Ethereum and Solidity: The Complete Developer’s Guide” (https://www.udemy.com/course/ethereum-and-solidity-the-complete-developers-guide/)

Designing Data-Intensive Applications - Chapter 12 - The Future of Data Systems

Designing Data-Intensive Applications - Chapter 12 - The Future of Data Systems

Translations: RU

Earlier the book club of our company has studied excellent book:

Martin Kleppmann - Designing Data-Intensive Applications

This is the best book I have read about building complex scalable software systems. 💪

As usually I prepared an overview and mind-map.

Chapter 12 is a summary of the book and a visionary view of the future.

  • Data Integration.
    • Overview of the ways we have to integrate data.
    • Causality and why we need Total Order and Idempotency.
    • Transactions and Linearizability
    • Limitations of Total Order.
    • Lambda architecture and unifying batch and stream processing as the most perspective approach.
  • Unbundling Databases.
    • Overview of composing data storages together.
    • Designing apps around Dataflow.
    • Usage of derived states.
  • Aiming for Correctness: what problems to consider and how to deal with them.
    • End-to-end fencing token.
    • How to process multi-partition requests.
    • Timeliness and Integrity issues. Apology workflow in business.
    • Meta approach: Trust, but Verify.
  • Doing the Right Thing.
    • Predictive Analytics is discriminating people! We have responsibility and accountability here.
    • Privacy is conflicting with Tracking. Total surveillance should be legislated and self-regulated.

Download full mind map (PDF)

Designing Data-Intensive Applications - Chapter 7 - Transactions

Designing Data-Intensive Applications - Chapter 7 - Transactions

Translations: RU

Earlier the book club of our company has studied excellent book:

Martin Kleppmann - Designing Data-Intensive Applications

This is the best book I have read about building complex scalable software systems. 💪

As usually I prepared an overview and mind-map.

Chapter 7 is all your DEV team should know about Transactions:

  • The purpose of transactions
  • The concept of transaction: ACID, BASE, single-object and multi-object transactions
  • Weak Isolation Levels: Read Committed, Snapshot Isolation and Repeatable Read. Problems and preventing them: Lost Updates, Write Skew and Phantoms
  • Serializability and three approaches: Actual Serial Execution, Two-Phase Locking (2PL), Serializable Snapshot Isolation (SSI). Potential problems and performance.

Download full mind map (PDF)