Correlated Subqueries Explained: From Confusing to Intuitive
Hey everyone! 👋 It's been a while since I posted here. Over the past few days, I've been revisiting SQL from the ground up—not just solving problems, …
Latest Architecture news from Tech News
Hey everyone! 👋 It's been a while since I posted here. Over the past few days, I've been revisiting SQL from the ground up—not just solving problems, …
When thousands of field workers badge into active construction sites at seven in the morning, traditional cloud database designs hit a hard performanc…
We run a US directory of special needs schools and ABA therapy providers. Providers pay to be promoted in the places where parents are searching. The …
Three words that engineers use interchangeably and shouldn't: Migration is a one-time move — different system, different schema, run once, archive the…
Previously: we migrated this database from Azure SQL Managed Instance to Azure SQL Hyperscale — not because of its size at the time, but because we co…
Introduction When building a Flutter application, you'll often need to store data on the user's device. For example: Saving user preferences Storing l…
On May 20, 2026, AWS ended support for DMS Fleet Advisor. Fleet Advisor answered a question every migration team asks first: what is actually in my da…
Over the past few weeks I've been benchmarking LioranDB V2 , a document database engine written completely from scratch in Rust . Instead of publishin…
Most cloud platforms are not platforms. They are holding companies. A database startup gets acquired. A serverless product gets bolted on. An AI infer…
A page that feels instant with a few users can become painfully slow when your business grows. The code hasn’t changed. The server hasn’t changed. The…
Lessons from hooking up stamping presses, welding cells, and MES without dropping a single byte of data. If you’ve ever been tasked with trying to fee…
In Parts 1-3, we built a storage engine: WAL, memtable, SSTables, and compaction. Every operation is a single GET or PUT. But real applications rarely…
SQLite vs PostgreSQL: Choosing the Right Database tags: database, sql, tutorial, programming tags: database, sql, tutorial, programming Imagine you're…
A Japanese-language version of this article is available on Zenn . I've prepared a blank map. Fill in what you need, as your own — and draw the shippi…
Working on systems that move real money changes what "saved to the database" is allowed to mean. A row existing in Postgres is not the same claim as "…
Most backend engineers implement multi-tenant quota checks using a standard "read-then-write" pattern. In production, this pattern is highly unsafe: S…
Disclosure: I build Schemity , a desktop ERD tool - this post is from our blog and uses it for the examples. TL;DR: Lucidchart draws entity relationsh…
We’ve all been there. You sketch out a flawless high-level architecture on the whiteboard, and the interviewer leans in: “ Alright, what database are …
How accidentally exhausting Firestore's free-tier limit transformed a rushed MVP into a more resilient anti-proxy attendance system. Introduction When…
A normal secondary index can answer: status = "active" It cannot efficiently answer: documents containing "distributed database" LioranDB therefore ha…
There's an old joke that there are only two hard problems in computer science: cache invalidation and naming things. The joke endures because it's tru…
Every cache pattern so far accepts that cache misses happen: a key expires, a request misses, and someone pays the cost of reloading from the database…
Write-through keeps the cache and database consistent by writing to both synchronously, which makes writes as slow as the database. Write-behind takes…
Cache-aside puts the caching logic in your application. Read-through and write-through move it into the cache layer itself, so the application talks t…
Cache-aside is the caching pattern you'll use most, and probably the one you already use without knowing its name. The application checks the cache fi…
Redis holds everything in memory, which raises an obvious question: what stops it from filling up and falling over? The answer is two mechanisms worki…
If you learn one Redis structure deeply, make it the sorted set. It's a set where every member carries a numeric score, and members stay ordered by th…
The reason Redis solves so many problems is that it isn't one thing, it's a collection of data structures, each with commands tuned for a specific acc…
Database Migrations: Managing Schema Changes as Version-Controlled Code A practical guide to database migrations — the discipline of evolving a databa…