Adding a new column is one of the most common schema changes in modern software development. It sounds simple, but in production systems, every schema migration carries risk. Whether it’s SQL or NoSQL, a new column means changes to storage, queries, indexes, and the code that consumes them.
In relational databases like PostgreSQL and MySQL, adding a new column without defaults is fast. With a default value, the database may rewrite the entire table, locking writes and slowing reads. On large datasets, that can mean downtime. The safer path is to add the new column without a default, backfill in controlled batches, then apply the default constraint.
In distributed databases, schema changes often propagate asynchronously. Systems like CockroachDB or Spanner let you add columns online, but you still need to test for query plan changes, increased memory use, or replication lag. In document databases like MongoDB, a “new column” is just a new field in your documents, but if your application assumes it exists, you must handle older documents gracefully.