Adding a new column sounds small. It rarely is. Schema changes can break production, block deployments, and sink developer velocity if not managed well. Modern systems are distributed, services depend on each other, and the database is the nervous system. A new column in one table can ripple through APIs, data pipelines, and analytics jobs.
In relational databases like PostgreSQL and MySQL, a new column usually means an ALTER TABLE command. The operation might lock the table, spike I/O, or take longer than expected on large datasets. In NoSQL systems like MongoDB, adding a field is more about updating the document schema in your application code or ensuring migration scripts handle existing data safely. Either way, the rules are the same: plan it, stage it, test it.
Best practice is to deploy schema changes in phases. First, introduce the new column with default values and make it nullable. This lets reads and writes continue without breaking. Then, backfill data asynchronously to avoid blocking. After the new column is fully populated, update the code to depend on it. Only then enforce constraints or drop deprecated fields.