Adding a new column sounds simple. It rarely is. In production, a schema change can lock writes, spike latency, or trigger cascading failures. The risk compounds with scale. The cost hits fast when you do it wrong.
A new column in SQL starts with ALTER TABLE. This blocks until the database rewrites the table or adds metadata, depending on the engine. In PostgreSQL, adding a column with a default value forces a full rewrite. In MySQL, older versions do the same with many data types. Modern releases handle it faster with metadata changes, but only for specific column definitions. Understanding these limits is the difference between a safe deploy and a long outage.
When creating a new column, plan for nullability. Adding a NOT NULL column with no default will fail if the table has rows. Always set a safe default for critical fields, or backfill in a migration step. If you must backfill, do it in batches to avoid heavy locks and write pressure.