Why You Shouldn't Store Images in a Database

The Fallacy of the "All-in-One" Basket
In the early stages of a product, creating a bytea (binary data) column in PostgreSQL to store user avatars or product images seems like a quick and dirty solution. It guarantees data integrity (ACID) and makes backups straightforward since everything lives in one place.
However, for Product Managers and TPMs, system design isn't just about making a feature work; it's a calculated decision regarding scalability and performance. Storing images directly in a Relational Database Management System (RDBMS) is a classic anti-pattern that will quickly choke your system as it scales.
To understand why, we need to look down at the physical storage architecture: Page Storage.
The Bottom-Layer Architecture: A Tale of 8KB Pages
Databases like PostgreSQL do not store data as an endless stream of text. Instead, they divide data on the disk into fixed-size blocks called Pages.

How to Crack Product Discovery Questions in PM Interviews
Product discovery questions don't test what you know — they test how you find the right problem. This article breaks down the common question types, the core thinking framework, and real examples so you can answer with confidence from round one.
