yugabyte / yugabyte-db

YugabyteDB - the cloud native distributed SQL database for mission-critical applications.
https://www.yugabyte.com
Other
8.95k stars 1.07k forks source link

[DocDB] xcluster: Automatically propagate DDL changes across clusters #11537

Open bmatican opened 2 years ago

bmatican commented 2 years ago

Jira Link: DB-888

Description

Automatic Propagation and Apply of DDL changes from xCluster Source to Target for YSQL tables.

Use-case:

  1. User sets up replication for an entire database/keyspace between source and target universes (https://github.com/yugabyte/yugabyte-db/issues/10984)
  2. Any DDLs performed within the source universe on the databases that are part of replication should automatically get replicated to the target side and applied to the target similar to how modifications to data are propagated.

Phases:

  1. Automatic propagation of create table/index/partition operations so that any new objects created on the source are automatically created on the target and added to replication
  2. Automatic propagation of drops - Objects dropped on source automatically get removed from replication and get dropped on the target universe.
  3. Alters: Any Alter table operations automatically get applied on the target side in the right order.
  4. All other DDL operations - such as view creation, stored procedure creation etc.
mrajcevic01 commented 2 years ago

@bmatican @nspiegelberg can we include the specific GH issues for the different phases of this project to the description?

abuzarkamal commented 6 months ago

Hello, Recently I started exploring and projecting Yugabyte as a distributed solution in my organization. I would like to know if there is any progress regarding DDL replication in Xcluster setup.

hulien22 commented 6 months ago

@abuzarkamal yes this feature is being actively worked on - this is just the parent issue, smaller issues are being worked on and tracked in the xCluster DDL Replication project

abuzarkamal commented 5 months ago

Thanks for the update, Great progress