Replicate types

You can choose a replicate type depending on whether you want the schema definitions on all participants to be the same. A master replicate enforces consistency between the schema definitions of the participants and the schema definition on a designated server. A classic replicate does not check the schema definitions of the participants.

To guarantee consistency between the nodes in your Enterprise Replication environment, define master replicates by running the cdr define replicate command with the --master option. By default, replicates are created as classic replicates. By default, replicates are master replicates. If you do not specify a master server, the master replicate is based on the first participant. Dictionary information is then stored about replicated column attributes for the participant you specify. Enterprise Replication checks for consistency between the master definition and local participant definitions. Checks are run when the replicate is defined and each time a new participant is added to the replicate, thus avoiding runtime errors. Verification also occurs each time that the master replicate is started on a server.

If you do not want to verify the schema, create a classic replicate. For example, if you want to create a data consolidation system in which one server only receives data from other servers that only send data, create a classic replicate.

Defining a replicate as a master replicate provides several advantages:

  • Ensures data integrity by verifying that all participants in the replicate have table and replicated column attributes that match the master replicate definition.
  • Provides automatic table generation on participants that do not already contain the table that is specified in the master replicate. However, Enterprise Replication cannot create tables with user-defined data types.
  • Allows alter operations on the replicated tables.

When you define a master replicate, you must specify a participant that is on the server for which you are running the command. This participant is used to create the dictionary information for the master replicate. When you define a master replicate, you can specify a participant that is on the server for which you are running the command. By default, the first participant that you list in the cdr define replicate command is the used to create the dictionary information for the master replicate. The additional participants in the cdr define replicate command are verified against the master definition and added to the replicate if they pass validation. If any participant fails validation, the cdr define replicate command fails and that participant is disabled.