PingDirectory

Replication versus synchronization

Replication and synchronization are distinct functions from one another and are not interchangeable.

Replication is not a general purpose synchronization function because it creates replicas with exact copies of the replicated data. By contrast, synchronization can:

  • Transform data between two different directory information tree (DIT) structures

  • Map attribute types

  • Synchronize subsets of branches and specific object classes

For data migration, use synchronization instead of replication unless you are adding cloud directories to an existing PingDirectory cluster.

The differences between replication and synchronization are as follows:

Replication doesn’t support differing DIT structures

The distinguished name (DN) of replicated entries must be the same on all servers. In some situations, you might want to replicate entries with the help of DN mapping that are under different base DNs, but represent the same data, for example uid=john.doe,ou=people,o=corp on one server could represent the same user as uid=john.doe,ou=people,dc=example,dc=com.

This is not supported by replication. Synchronization fully supports this feature.

Replication doesn’t support differing FIPS-compliance modes

Replication can’t occur between server instances running in FIPS-compliant mode and server instances running in non-FIPS-compliant mode. Learn more about the Differences between FIPS-compliant and non-FIPS-compliant modes.

Replication can’t map attribute types or transform attribute values

Some situations might require you to map attribute types or transform attribute values when synchronizing data from one server to another. Replication doesn’t support attribute type mappings or attribute value transformations.

Replication doesn’t support fractional replication

Replication can’t be configured to replicate a subset of the attribute types from the replicated data set. Synchronization fully supports this feature.

Replication doesn’t support sparse replication

Replication can’t be configured to replicate only entries with a particular object class. Synchronization fully supports this feature.

Replication requires full control of replicated data

When two servers participate in replication, both servers implicitly trust each other using public key cryptography and apply all received updates by replication, which is considered an internal operation. While trust between servers is established between two endpoint servers, synchronization doesn’t require full control of the data. Disparate server system endpoints can be synchronized, such as a PingDirectory server and a relational database management system (RDBMS) database endpoint with each fully in control of its own data.

If replication doesn’t meet your data synchronization requirements, consider using PingDataSync server instead, which provides the versatility and robust performance required for most production environments.