6 Patterns of Cache

Cache Doesn't Make Your System Faster. It Just Moves the Complexity Somewhere Else.

There's a dangerous misconception in software engineering: that adding a cache is a performance solution. It isn't. It's a trade-off – one that swaps database load for a new set of problems around consistency, failure modes, and operational complexity.

Every caching decision ultimately comes down to one question: who is responsible for writing to the cache, and when does that write happen?

Answer that question differently and you get six distinct patterns. Each one makes sense in a specific context and falls apart in others. Here's a map of all six – not just what they are, but why you'd reach for each one.

patterns-of-cache

Read More

MVCC Explained: Help Your Database NOT Freeze When Someone Else Hits “Update”

Ever wondered how thousands of users can read and write to the same database table at the same time without everything grinding to a halt? The answer, in most modern databases (PostgreSQL, MySQL/InnoDB, Oracle, and others), is a clever mechanism called MVCC – Multiversion Concurrency Control.

Let’s break it down in plain language, with a simple example you’ll never forget.

mvcc-feature
Read More

Data Engineering: ETL (Extract – Transform – Load) Overview

Understanding the backbone of every data-driven organization, a “starter kit” for anyone entering the world of Data Engineering

Modern organizations breathe data. Behind every dashboard, every metric, every “data-driven decision”, there’s a hidden machinery ensuring the right data flows in the right format to the right place. That machinery is ETL (Extract – Transform – Load), one of the foundational pillars of data engineering.

etl-overview

Today I will expand those definitions into a cohesive, narrative-style guide to help you grasp ETL intuitively, and more understand how these concepts show up in real-world systems.

Read More