Categories
OLAP 1
OLTP 1
accountability 1
allocator 1
analytics 2
api 1
api-keys 2
architecture 3
batch-processing 3
benchmarks 1
caching 3
clocks 1
codebase 1
concurrency 1
concurrency-control 1
connection-pooling 2
consensus 1
consistency 3
consistent-hashing 1
contention 1
correctness 1
coupling 1
cpu-profiling 3
data-formats 1
data-integration 1
data-integrity 1
data-models 3
data-structures 1
data-systems 1
database 1
databases 24
dataflow 3
ddia 41
decomposition 2
devsecops 2
distributed-databases 7
distributed-filesystems 1
distributed-systems 17
dynamo-style 1
encoding 1
ethics 1
expiry 1
failover 1
fault-tolerance 4
flame-graphs 5
flow-control 1
fragmentation 1
fraud 1
future-data-systems 1
g1gc 1
garbage-collection 1
gc 3
hardware 1
hibernate 1
high-availability 1
immutability 1
index-maintenance 1
indexes 1
instrumentation 1
isolation 1
java 10
jemalloc 2
jvm 5
key-value 1
latency 3
linearizability 1
linux 1
locking 1
logging 1
maintainability 1
memcached 1
memory 4
memory-leaks 1
messaging 2
modularity 1
multi-leader 1
mysql 2
networking 1
notifications 1
observability 3
offheap 1
opentelemetry 2
operations 11
ordering 1
parameterization 1
partitioning 5
performance 22
personal 1
pgbouncer 1
plan-cache 1
postgres 10
postman 2
priority-queue 1
privacy 1
probabilistic-data-structures 1
profiling 1
pub-sub 1
python 1
quantum 1
query-planner 1
queues 2
quorum-queues 1
rabbitmq 4
rate-limiting 1
real-time 1
rebalancing 1
redis 9
reflection 1
reliability 3
remote-work 1
replication 8
routing 1
sahp 3
scalability 1
scaling 3
secondary-indexes 1
secrets 2
security 2
serialization 1
sharding 2
software-architecture 1
sql-server 3
storage 2
stream-processing 3
streaming 1
synchronization 1
system-design 6
system-models 1
systems 2
tail-sampling 1
thoughts 2
thp 1
throughput 1
thundering-herd 1
tracing 2
transactions 6
unbundling-system-design 1
unix-tools 1
OLAP
OLTP
accountability
Mar 12, 2023
Ethical Data Practices for Building Better Systems
allocator
Feb 16, 2025
Redis Brings Its Own malloc
analytics
api
Jan 13, 2025
Everything I Got Wrong About Rate Limiting
api-keys
Jul 26, 2025
Your Secret Variable Is Only Hiding From You
Jul 22, 2025
It Was Never a Breach
architecture
batch-processing
benchmarks
May 7, 2025
The Latency Numbers Nobody Reruns
caching
Apr 18, 2025
One Byte Over the Slab
Mar 20, 2025
Our Fix for the Thundering Herd Was a Lock
Jan 23, 2025
Everything I Got Wrong About Cache-Aside
clocks
codebase
May 16, 2022
Unlocking Decomposability for Monolithic Codebases
concurrency
Jul 20, 2026
The Thread That Was Never Actually Idle
concurrency-control
Oct 22, 2022
Achieving Serializability in Transactions
connection-pooling
Jul 19, 2025
Too Many Clients Already
Jul 17, 2025
More Connections, Slower Reads
consensus
consistency
Dec 10, 2022
Linearizability in Distributed Systems
Dec 1, 2022
Consistency Guarantees in Distributed Systems
consistent-hashing
Mar 30, 2025
Sharding RabbitMQ Without Reshuffling Everything
contention
Jul 20, 2026
The Update That Locked Rows It Never Touched
correctness
coupling
cpu-profiling
Jul 20, 2026
The Profiler That Doesn't Wait for a Safe Moment
Jul 20, 2026
The Flame Graph That Found 25 Years a Day
Jul 20, 2026
The CPU Number That Didn't Move
data-formats
Jul 15, 2022
Formats for Encoding Data
data-integration
data-integrity
data-models
Jun 10, 2022
Relational Model Versus Document Model
data-structures
data-systems
Mar 12, 2023
Ethical Data Practices for Building Better Systems
database
Jul 20, 2026
The Three Ways Postgres Reaches a Row
databases
Jul 20, 2026
The Update That Locked Rows It Never Touched
Jul 20, 2026
The Rows That Never Left
Jul 20, 2026
The Gentle Fix That Wasn't
Jul 20, 2026
The Counter That Lost 336 Of Its 400 Increments
Jul 20, 2026
ORM vs Stored Procedures Was the Wrong Question
Jul 19, 2025
Too Many Clients Already
Jul 17, 2025
More Connections, Slower Reads
Jun 30, 2025
The Machine That Rehashed Everything
Jun 24, 2025
The Export That Got Slower Every Page
Jun 9, 2025
The Read That Couldn't See Its Own Write
Apr 6, 2025
The Query That Asked Every Shard
Mar 13, 2025
The Query Plans That Only Ran Once
Jan 6, 2025
The Lie in pg_stats
Feb 3, 2023
Synchronizing Databases with Real-Time Streams
Oct 22, 2022
Achieving Serializability in Transactions
Oct 13, 2022
Exploring Weak Isolation Levels in Databases
Oct 6, 2022
The Slippery Concept of a Transaction
Jul 31, 2022
Leaders and Followers - The Core of Replication
Jun 10, 2022
Relational Model Versus Document Model
dataflow
ddia
Mar 12, 2023
Ethical Data Practices for Building Better Systems
Feb 26, 2023
Unbundling Monolithic Databases for Flexibility
Feb 3, 2023
Synchronizing Databases with Real-Time Streams
Dec 10, 2022
Linearizability in Distributed Systems
Dec 1, 2022
Consistency Guarantees in Distributed Systems
Nov 24, 2022
Knowledge Truth and Lies in Distributed Systems
Oct 31, 2022
Faults and Partial Failures in Distributed Systems
Oct 22, 2022
Achieving Serializability in Transactions
Oct 13, 2022
Exploring Weak Isolation Levels in Databases
Oct 6, 2022
The Slippery Concept of a Transaction
Aug 20, 2022
Multi-Leader Replication in Distributed Databases
Jul 31, 2022
Leaders and Followers - The Core of Replication
Jul 20, 2022
Modes of Dataflow in Distributed Systems
Jul 15, 2022
Formats for Encoding Data
Jun 10, 2022
Relational Model Versus Document Model
May 31, 2022
Building Maintainable Software Systems
May 21, 2022
What is Scalability in Data Systems?
May 16, 2022
Designing Reliable Data Systems
decomposition
May 16, 2022
Component-Based Decomposition
May 16, 2022
Unlocking Decomposability for Monolithic Codebases
devsecops
Jul 26, 2025
Your Secret Variable Is Only Hiding From You
Jul 22, 2025
It Was Never a Breach
distributed-databases
Aug 20, 2022
Multi-Leader Replication in Distributed Databases
distributed-filesystems
distributed-systems
Feb 24, 2025
Your Redis Pub/Sub Node Hears Its Own Messages
Jan 23, 2025
Everything I Got Wrong About Cache-Aside
Jan 13, 2025
Everything I Got Wrong About Rate Limiting
Dec 10, 2022
Linearizability in Distributed Systems
Dec 1, 2022
Consistency Guarantees in Distributed Systems
Nov 24, 2022
Knowledge Truth and Lies in Distributed Systems
Oct 31, 2022
Faults and Partial Failures in Distributed Systems
Jul 31, 2022
Leaders and Followers - The Core of Replication
dynamo-style
encoding
Jul 15, 2022
Formats for Encoding Data
ethics
Mar 12, 2023
Ethical Data Practices for Building Better Systems
expiry
Mar 5, 2025
The Expired Keys Your Redis Replica Still Counts
failover
Jun 14, 2025
The Commits That Didn't Survive the Failover
fault-tolerance
Dec 1, 2022
Consistency Guarantees in Distributed Systems
Nov 24, 2022
Knowledge Truth and Lies in Distributed Systems
Oct 31, 2022
Faults and Partial Failures in Distributed Systems
flame-graphs
Jul 20, 2026
The Thread That Was Never Actually Idle
Jul 20, 2026
The Query That Paid For Everyone Else's Changes
Jul 20, 2026
The Profiler That Doesn't Wait for a Safe Moment
Jul 20, 2026
The Flame Graph That Found 25 Years a Day
Jul 20, 2026
The CPU Number That Didn't Move
flow-control
May 14, 2025
Cranking Up the Confirm Window Made RabbitMQ Slower
fragmentation
Jul 20, 2026
The Gentle Fix That Wasn't
fraud
May 24, 2025
Catching the Bots Without Remembering the Clicks
future-data-systems
Feb 26, 2023
Unbundling Monolithic Databases for Flexibility
g1gc
May 1, 2025
The Objects That Never Died
garbage-collection
Jul 20, 2026
The JVM That Was Up and Doing Nothing
gc
Jul 20, 2026
The Climb That Never Comes Back Down
May 1, 2025
The Objects That Never Died
Apr 23, 2025
The Slowest Request Was a Garbage Collection
hardware
May 7, 2025
The Latency Numbers Nobody Reruns
hibernate
Jul 20, 2026
The Query That Paid For Everyone Else's Changes
high-availability
Jun 14, 2025
The Commits That Didn't Survive the Failover
immutability
Feb 3, 2023
Synchronizing Databases with Real-Time Streams
index-maintenance
Jul 20, 2026
The Gentle Fix That Wasn't
indexes
Jul 20, 2026
The Three Ways Postgres Reaches a Row
instrumentation
Aug 4, 2025
What a Span Actually Costs
isolation
Jul 20, 2026
The Counter That Lost 336 Of Its 400 Increments
java
Jul 20, 2026
The Thread That Was Never Actually Idle
Jul 20, 2026
The Query That Paid For Everyone Else's Changes
Jul 20, 2026
The Profiler That Doesn't Wait for a Safe Moment
Jul 20, 2026
The JVM That Was Up and Doing Nothing
Jul 20, 2026
The Garbage the Collector Couldn't Collect
Jul 20, 2026
The Flame Graph That Found 25 Years a Day
Jul 20, 2026
The CPU Number That Didn't Move
Jul 20, 2026
The Climb That Never Comes Back Down
May 1, 2025
The Objects That Never Died
Apr 23, 2025
The Slowest Request Was a Garbage Collection
jemalloc
Feb 16, 2025
Redis Brings Its Own malloc
Feb 6, 2025
The Memory Redis Wouldn't Give Back
jvm
Jul 20, 2026
The JVM That Was Up and Doing Nothing
Jul 20, 2026
The Garbage the Collector Couldn't Collect
Jul 20, 2026
The Climb That Never Comes Back Down
May 1, 2025
The Objects That Never Died
Apr 23, 2025
The Slowest Request Was a Garbage Collection
key-value
latency
Jul 20, 2026
The p99.9 That Only Spiked While We Were Scaling Up
May 7, 2025
The Latency Numbers Nobody Reruns
Apr 23, 2025
The Slowest Request Was a Garbage Collection
linearizability
Dec 10, 2022
Linearizability in Distributed Systems
linux
Jul 20, 2026
The p99.9 That Only Spiked While We Were Scaling Up
locking
Jul 20, 2026
The Update That Locked Rows It Never Touched
logging
Jul 10, 2025
The Debug Line You Disabled Is Still Running
maintainability
May 31, 2022
Building Maintainable Software Systems
memcached
Apr 18, 2025
One Byte Over the Slab
memory
Jul 20, 2026
The Climb That Never Comes Back Down
May 7, 2025
The Latency Numbers Nobody Reruns
Feb 16, 2025
Redis Brings Its Own malloc
Feb 6, 2025
The Memory Redis Wouldn't Give Back
memory-leaks
Jul 20, 2026
The Garbage the Collector Couldn't Collect
messaging
Jul 20, 2022
Modes of Dataflow in Distributed Systems
modularity
May 16, 2022
Exploring Architectural Modularity with Subdrivers
multi-leader
Aug 20, 2022
Multi-Leader Replication in Distributed Databases
mysql
Jul 17, 2025
More Connections, Slower Reads
Jun 14, 2025
The Commits That Didn't Survive the Failover
networking
notifications
Jul 5, 2025
The Priority Queue That Didn't Cut the Line
observability
Aug 4, 2025
What a Span Actually Costs
Jul 30, 2025
Sampled to Keep, Dropped Anyway
Jul 10, 2025
The Debug Line You Disabled Is Still Running
offheap
May 1, 2025
The Objects That Never Died
opentelemetry
Aug 4, 2025
What a Span Actually Costs
Jul 30, 2025
Sampled to Keep, Dropped Anyway
operations
Jul 20, 2026
The p99.9 That Only Spiked While We Were Scaling Up
Jul 10, 2025
The Debug Line You Disabled Is Still Running
Jul 5, 2025
The Priority Queue That Didn't Cut the Line
May 14, 2025
Cranking Up the Confirm Window Made RabbitMQ Slower
Apr 13, 2025
The Messages RabbitMQ Confirmed and Lost Anyway
Mar 30, 2025
Sharding RabbitMQ Without Reshuffling Everything
Mar 20, 2025
Our Fix for the Thundering Herd Was a Lock
Mar 5, 2025
The Expired Keys Your Redis Replica Still Counts
Feb 24, 2025
Your Redis Pub/Sub Node Hears Its Own Messages
Feb 16, 2025
Redis Brings Its Own malloc
Feb 6, 2025
The Memory Redis Wouldn't Give Back
ordering
parameterization
Mar 13, 2025
The Query Plans That Only Ran Once
partitioning
performance
Jul 20, 2026
The Three Ways Postgres Reaches a Row
Jul 20, 2026
The Thread That Was Never Actually Idle
Jul 20, 2026
The Rows That Never Left
Jul 20, 2026
The Query That Paid For Everyone Else's Changes
Jul 20, 2026
The Profiler That Doesn't Wait for a Safe Moment
Jul 20, 2026
The Garbage the Collector Couldn't Collect
Jul 20, 2026
The Flame Graph That Found 25 Years a Day
Jul 20, 2026
The CPU Number That Didn't Move
Jul 20, 2026
ORM vs Stored Procedures Was the Wrong Question
Aug 4, 2025
What a Span Actually Costs
Jul 30, 2025
Sampled to Keep, Dropped Anyway
Jul 19, 2025
Too Many Clients Already
Jul 17, 2025
More Connections, Slower Reads
Jul 10, 2025
The Debug Line You Disabled Is Still Running
Jun 24, 2025
The Export That Got Slower Every Page
Jun 1, 2025
The Events That Wouldn't Compress
May 7, 2025
The Latency Numbers Nobody Reruns
May 1, 2025
The Objects That Never Died
Apr 23, 2025
The Slowest Request Was a Garbage Collection
Apr 18, 2025
One Byte Over the Slab
Jan 23, 2025
Everything I Got Wrong About Cache-Aside
Jan 6, 2025
The Lie in pg_stats
personal
Dec 15, 2024
On Remote Work and Deep Thinking
pgbouncer
Jul 19, 2025
Too Many Clients Already
plan-cache
Mar 13, 2025
The Query Plans That Only Ran Once
postgres
Jul 20, 2026
The Three Ways Postgres Reaches a Row
Jul 20, 2026
The Rows That Never Left
Jul 20, 2026
The Counter That Lost 336 Of Its 400 Increments
Jul 20, 2026
ORM vs Stored Procedures Was the Wrong Question
Jul 19, 2025
Too Many Clients Already
Jun 30, 2025
The Machine That Rehashed Everything
Jun 24, 2025
The Export That Got Slower Every Page
Jun 9, 2025
The Read That Couldn't See Its Own Write
Apr 6, 2025
The Query That Asked Every Shard
Jan 6, 2025
The Lie in pg_stats
postman
Jul 26, 2025
Your Secret Variable Is Only Hiding From You
Jul 22, 2025
It Was Never a Breach
priority-queue
Jul 5, 2025
The Priority Queue That Didn't Cut the Line
privacy
Jul 26, 2025
Your Secret Variable Is Only Hiding From You
probabilistic-data-structures
May 24, 2025
Catching the Bots Without Remembering the Clicks
profiling
Jul 20, 2026
The Profiler That Doesn't Wait for a Safe Moment
pub-sub
Feb 24, 2025
Your Redis Pub/Sub Node Hears Its Own Messages
python
Jul 10, 2025
The Debug Line You Disabled Is Still Running
quantum
query-planner
Jan 6, 2025
The Lie in pg_stats
queues
Jul 5, 2025
The Priority Queue That Didn't Cut the Line
Mar 30, 2025
Sharding RabbitMQ Without Reshuffling Everything
quorum-queues
Apr 13, 2025
The Messages RabbitMQ Confirmed and Lost Anyway
rabbitmq
Jul 5, 2025
The Priority Queue That Didn't Cut the Line
May 14, 2025
Cranking Up the Confirm Window Made RabbitMQ Slower
Apr 13, 2025
The Messages RabbitMQ Confirmed and Lost Anyway
Mar 30, 2025
Sharding RabbitMQ Without Reshuffling Everything
rate-limiting
Jan 13, 2025
Everything I Got Wrong About Rate Limiting
real-time
rebalancing
redis
Jul 20, 2026
The p99.9 That Only Spiked While We Were Scaling Up
May 24, 2025
Catching the Bots Without Remembering the Clicks
Mar 20, 2025
Our Fix for the Thundering Herd Was a Lock
Mar 5, 2025
The Expired Keys Your Redis Replica Still Counts
Feb 24, 2025
Your Redis Pub/Sub Node Hears Its Own Messages
Feb 16, 2025
Redis Brings Its Own malloc
Feb 6, 2025
The Memory Redis Wouldn't Give Back
Jan 23, 2025
Everything I Got Wrong About Cache-Aside
Jan 13, 2025
Everything I Got Wrong About Rate Limiting
reflection
Dec 15, 2024
On Remote Work and Deep Thinking
reliability
Jul 20, 2026
The JVM That Was Up and Doing Nothing
Apr 13, 2025
The Messages RabbitMQ Confirmed and Lost Anyway
May 16, 2022
Designing Reliable Data Systems
remote-work
Dec 15, 2024
On Remote Work and Deep Thinking
replication
Jun 14, 2025
The Commits That Didn't Survive the Failover
Jun 9, 2025
The Read That Couldn't See Its Own Write
Mar 5, 2025
The Expired Keys Your Redis Replica Still Counts
Aug 20, 2022
Multi-Leader Replication in Distributed Databases
Jul 31, 2022
Leaders and Followers - The Core of Replication
routing
sahp
scalability
May 21, 2022
What is Scalability in Data Systems?
scaling
Jun 30, 2025
The Machine That Rehashed Everything
Jun 9, 2025
The Read That Couldn't See Its Own Write
Apr 6, 2025
The Query That Asked Every Shard
secondary-indexes
secrets
Jul 26, 2025
Your Secret Variable Is Only Hiding From You
Jul 22, 2025
It Was Never a Breach
security
Jul 26, 2025
Your Secret Variable Is Only Hiding From You
Jul 22, 2025
It Was Never a Breach
serialization
Jul 15, 2022
Formats for Encoding Data
sharding
Jun 30, 2025
The Machine That Rehashed Everything
Apr 6, 2025
The Query That Asked Every Shard
software-architecture
May 16, 2022
Component-Based Decomposition
sql-server
Jul 20, 2026
The Update That Locked Rows It Never Touched
Jul 20, 2026
The Gentle Fix That Wasn't
Mar 13, 2025
The Query Plans That Only Ran Once
storage
stream-processing
streaming
May 24, 2025
Catching the Bots Without Remembering the Clicks
synchronization
system-design
Oct 31, 2022
Faults and Partial Failures in Distributed Systems
Oct 13, 2022
Exploring Weak Isolation Levels in Databases
Oct 6, 2022
The Slippery Concept of a Transaction
system-models
Nov 24, 2022
Knowledge Truth and Lies in Distributed Systems
systems
Jun 1, 2025
The Events That Wouldn't Compress
Jul 20, 2022
Modes of Dataflow in Distributed Systems
tail-sampling
Jul 30, 2025
Sampled to Keep, Dropped Anyway
thoughts
Dec 15, 2024
On Remote Work and Deep Thinking
Dec 15, 2024
On Building Meaningful Software
thp
Jul 20, 2026
The p99.9 That Only Spiked While We Were Scaling Up
throughput
May 14, 2025
Cranking Up the Confirm Window Made RabbitMQ Slower
thundering-herd
Mar 20, 2025
Our Fix for the Thundering Herd Was a Lock
tracing
Aug 4, 2025
What a Span Actually Costs
Jul 30, 2025
Sampled to Keep, Dropped Anyway
transactions
Jul 20, 2026
The Counter That Lost 336 Of Its 400 Increments
Oct 22, 2022
Achieving Serializability in Transactions
Oct 13, 2022
Exploring Weak Isolation Levels in Databases
Oct 6, 2022
The Slippery Concept of a Transaction
unbundling-system-design
Feb 26, 2023
Unbundling Monolithic Databases for Flexibility