Change Data Multicast (CDM) is a new method to replicate changes between multiple systems. CDM replicates SQL changes that are non-deterministic and can produce different results if run in parallel on different systems. CDM sends a non-deterministic SQL to one of the managed Teradata systems, and then captures all the resulting data changes. It then multicasts those data changes to the rest of the participating Teradata systems. This allows Unity to replicate changes that involve non-deterministic functions like RANDOM and SAMPLE and writes to tables that include Identity columns.
The replication of IDENTITY columns adversely affects performance. CMD requires that you redefine IDENTITY columns so they have different ranges on different systems.
Change Data Multicast is also referred to as Change Data Capture (CDC) or Change Stream Multicast (CSM).
Unity uses CDM across managed systems to keep non-deterministic objects and triggers synchronized. Non-deterministic objects and triggers include:
- Timestamps
- SQL
- Dynamic DDL
- UDF
- Random requests