MaterializeInc / materialize

The data warehouse for operational workloads.
https://materialize.com
Other
5.66k stars 457 forks source link

storage/sources: in-place schema changes #15897

Open nmeagan11 opened 1 year ago

nmeagan11 commented 1 year ago

Product Outcome

Backwards compatible schema changes to upstream systems can be incorporated into Materialize without requiring users to drop and recreate their (sub)sources. A backwards compatible schema change is the addition of a new column with a default, or deleting an optional (slash nullable) column.

We should think about how this new feature should interact with the current workflow for blue/green deployments (i.e. how to redeploy the minimum viable dependency graph with no downtime).

Related issues:

Discovery (archive)

Decision log

sploiselle commented 11 months ago

Just for some context, doing this likely requires #16650 or a stable interface between HirScalarExpr and the dataflow layer-- in addition to much other work.

benesch commented 4 months ago

It's maybe a little surprising given the issue title, but https://github.com/MaterializeInc/materialize/issues/17021 contains a proposal for how ALTER SINK could work.