Adding a new column sounds simple. It is not. In relational databases, a poorly timed ALTER TABLE can lock writes, slow queries, or trigger cache invalidation storms. Even in distributed systems, schema changes ripple downstream through services, jobs, and analytics pipelines.
The first step is defining the column with intent. Choose the correct data type. Set defaults where safe. Avoid NULL where integrity requires completeness. Understand the cost of backward compatibility—old code must not choke on new fields.
In production, avoid blocking migrations. Many mature teams use ALTER TABLE … ADD COLUMN with a default, then backfill in smaller batches. Tools like pt-online-schema-change or native database migrations can reduce impact. Always benchmark the migration in staging with production-scale data before rollout.