Disponible con una licencia Standard o Advanced.
Para la replicación bidireccional y unidireccional, durante la sincronización se aplican los mismos filtros y las mismas reglas de clase de relación utilizados en la creación de réplicas, con la excepción de los filtros basados en una selección establecida. Al determinar los cambios que se van a enviar, se evalúan todas las ediciones de cada dataset de la réplica que se hayan aplicado desde la última sincronización. Si una edición satisface los filtros de la réplica, se sincronizará.
El siguiente gráfico describe cómo se aplica el filtro de área de réplica durante la sincronización cuando se mueven entidades en una sesión de edición. Las ediciones siguientes se enviarán a la réplica relativa durante la sincronización:
- Una entidad se mueve a una nueva ubicación dentro del área de réplica.
- Una entidad se mueve del interior al exterior del área de réplica. La nueva ubicación de la entidad se actualizará en la réplica relativa durante la sincronización, aunque quede fuera del área de réplica.
- Una entidad se mueve del exterior al interior del área de réplica.
Cuando se mueve una entidad que no está dentro del área de réplica (escenario 4), no se actualiza en la réplica relativa durante la sincronización.
Los filtros basados en conjuntos de selección se aplican durante la creación de la réplica, pero se omiten durante la sincronización. El proceso de sincronización trata un filtro de conjunto de selección como si fuera todas las filas. Por ejemplo, si solo se utiliza un conjunto de selección para definir las filas a replicarse desde una tabla durante la creación de la réplica, todos los cambios realizados en esa tabla se aplicarán durante la sincronización. Si se utilizó un conjunto de selección y otros filtros para definir las filas a replicar desde una tabla durante la creación de la réplica, solo se aplicarán los otros filtros durante la sincronización. Por ejemplo, si se aplica un conjunto de selección y una consulta de definición durante la creación de la réplica, solo se aplicará la consulta de definición durante la sincronización.
Si los datos que está replicando incluyen clases de relación, tendrán efecto sobre el proceso de sincronización. A continuación se describe cómo se aplican las clases de relación durante la sincronización.
Si una edición no satisface los filtros, todavía se puede sincronizar si cumple los siguientes criterios:
- Pertenece a un dataset con un filtro de solo esquema, y está implicada en al menos una clase de relación.
También debe cumplir una de las siguientes condiciones:
- Está relacionada con una fila de otro dataset que satisface los filtros. La fila con la que está relacionada no tiene que haber sido editada desde la última sincronización.
- Está en un dataset que está relacionado con un dataset con un filtro de solo esquema.
Esto significa que las filas de las clases de entidad o las tablas con filtros que no son de solo esquema solo se pueden sincronizar si cumplen los criterios de filtro.
Estas reglas también permiten el encadenamiento de datos relacionados. Esto puede ocurrir cuando, mediante clases de relación, se puede realizar el seguimiento de una fila de una clase de destino distante, a través de varias relaciones, hasta su origen en la réplica.
Ejemplo
En este ejemplo, tres edificios están seleccionados para la replicación. Dado que hay registros relacionados incluidos en el proceso de creación de la réplica, la clase de destino relacionada también se replica. Los campos de la clase de destino relacionados con las entidades de origen se editan en la réplica secundaria. Cuando se sincronizan las réplicas, estas ediciones se actualiza en la clase de destino relacionada en la réplica primaria.
Mantener relaciones
La sincronización mantiene las relaciones. Por ejemplo, si se agrega una nueva relación en la réplica relativa, se mantiene cuando se sincronizan las filas implicadas. Mantener la relación puede requerir que se cambie el valor de la clave externa en la réplica que recibe los cambios, si la clave de origen es el campo ObjectID.
En los siguientes ejemplos se describe el comportamiento de registros relacionados durante la sincronización:
Ejemplo uno
En este primer ejemplo, algunas entidades de una clase de origen, edificios, se seleccionaron para la replicación. Los edificios se relacionan a través de una relación sin atributos con registros de atributo de una tabla que se excluyeron de la replicación. Durante la edición de la réplica secundaria, se eliminó un edificio. Al realizar la sincronización, para anular la relación con la entidad que se eliminó, la entrada correspondiente en el campo de clave externa de la clase de destino relacionada, la tabla, se establece en NULL.
Este comportamiento de sincronización también puede producir la eliminación de filas que representan relaciones en una tabla de clase de relación con atributos (como se ve en el ejemplo siguiente).
Ejemplo dos
En este ejemplo, la relación entre la clase de entidad del origen y la tabla de clase de destino tiene atributos, lo que significa que la propia relación tiene una tabla asociada. Tanto la relación como la clase de destino se excluyeron del proceso de creación de la réplica. Las ediciones realizadas en la clase de entidad de origen en la réplica secundaria provocaron la eliminación de una entidad. Al realizar la sincronización, se elimina la fila de la tabla de clase de relación con atributos que representa la relación de esta entidad con un objeto de la clase de destino.
Al realizar la sincronización solo se eliminan relaciones; los propios objetos relacionados nunca se eliminan.