Cinchy Platform Documentation
Cinchy v5.6
Cinchy v5.6
  • Data Collaboration Overview
  • Release Notes
    • Release Notes
      • 5.0 Release Notes
      • 5.1 Release Notes
      • 5.2 Release Notes
      • 5.3 Release Notes
      • 5.4 Release Notes
      • 5.5 Release Notes
      • 5.6 Release Notes
  • Getting Help
  • Cinchy Glossary
  • Frequently Asked Questions
  • Deployment Guide
    • Deployment Installation Guides
      • Deployment Planning Overview and Checklist
        • Deployment Architecture Overview
          • Kubernetes Deployment Architecture
          • IIS Deployment Architecture
        • Deployment Prerequisites
          • Single Sign-On (SSO) Integration
            • Enabling TLS 1.2
            • Configuring ADFS
            • AD Group Integration
      • Kubernetes Deployment Installation
        • Disabling your Kubernetes Applications
        • Changing your File Storage Configuration
        • Configuring AWS IAM for Connections
        • Using Self-Signed SSL Certs (Kubernetes Deployments)
        • Deploying the CLI (Kubernetes)
      • IIS Deployment Platform Installation
    • Upgrade Guides
      • Upgrading Cinchy Versions
        • Cinchy Upgrade Utility
        • Kubernetes Upgrades
          • v5.1 (Kubernetes)
          • v5.2 (Kubernetes)
          • v5.3 (Kubernetes)
          • v5.4 (Kubernetes)
          • v5.5 (Kubernetes)
          • v5.6 (Kubernetes)
          • Upgrading AWS EKS Kubernetes Version
          • Updating the Kubernetes Image Registry
          • Upgrading AKS (Azure Kubernetes Service)
        • IIS Upgrades
          • v4.21 (IIS)
          • v4.x to v5.x (IIS)
          • v5.1 (IIS)
          • v5.2 (IIS)
          • v5.3 (IIS)
          • v5.4 (IIS)
          • v5.5 (IIS)
          • v5.6 (IIS)
      • Upgrading from v4 to v5
  • Guides for Using Cinchy
    • User Guides
      • Overview of the Data Browser
      • The Admin Panel
      • User Preferences
        • Personal Access Tokens
      • Table Features
      • Data Management
      • Queries
      • Version Management
        • Versioning Best Practices
      • Commentary
    • Builder Guides
      • Best Practices
      • Creating Tables
        • Attaching Files
        • Columns
        • Data Controls
          • Data Entitlements and Access Controls
          • Data Erasure
          • Data Compression
        • Formatting Rules
        • Indexing and Partitioning
        • Linking Data
        • Table and Column GUIDs
        • System Tables
      • Deleting Tables
        • Restoring Tables, Columns, and Rows
      • Saved Queries
      • CinchyDXD Utility
        • Building the Data Experience (CinchyDXD)
        • Packaging the Data Experience (CinchyDXD)
        • Installing the Data Experience (CinchyDXD)
        • Updating the Data Experience (CinchyDXD)
        • Repackaging the Data Experience (CinchyDXD)
        • Reinstalling the Data Experience (CinchyDXD)
      • Multi-Lingual Support
      • Integration Guides
    • Administrator Guide
    • Additional Guides
      • Monitoring and Logging on Kubernetes
        • Grafana
        • Opensearch Dashboards
          • Setting up Alerts
        • Monitoring via ArgoCD
      • Maintenance
      • System Properties
      • Enable Data At Rest Encryption
      • MDQE
      • Application Experiences
        • Network Map
          • Custom Node Results
          • Custom Results in the Network Map
        • Setting Up Experiences
  • API Guide
    • API Overview
      • API Authentication
      • API Saved Queries
      • ExecuteCQL
      • Webhook Ingestion
  • CQL
    • The Basics of CQL
      • CQL Examples
      • CQL Functions Master List
      • CQL Statements Overview
        • Cinchy DML Statements
        • Cinchy DDL Statements
      • Cinchy Supported Functions
        • Cinchy Functions
        • Cinchy System Values
        • Cinchy User Defined Functions
          • Table-Valued Functions
          • Scalar-Valued Functions
        • Conversion Functions
        • Date and Time Types and Functions
          • Return System Date and Time Values
          • Return Date and Time Parts
          • Return Date and Time Values From Their Parts
          • Return Date and Time Difference Values
          • Modify Date and Time Values
          • Validate Date and Time Values
        • Logical Functions
        • Mathematical Functions
        • String Functions
        • Geometry and Geography Data Type and Functions
          • OGC Methods on Geometry & Geography Instances
          • Extended Methods on Geometry & Geography Instances
        • Full Text Search Functions
        • Connections Functions
        • JSON Functions
  • Meta Forms
    • Introduction to Meta-Forms
    • Meta-Forms Deployment Installation Guide
      • Deploying Meta-Forms (Kubernetes)
      • Deploying Meta-Forms (IIS)
    • Forms Data Types
    • Meta-Forms Builders Guides
      • Creating a Dynamic Meta-Form (Using Tables)
      • Creating a Dynamic Meta-Form Example (Using Form Designer)
      • Adding Links to a Form
      • Rich Text Editing in Forms
  • Data Syncs
    • Getting Started with Data Syncs
    • Installation & Maintenance
      • Prerequisites
      • Installing Connections
      • Installing the Worker/Listener
      • Installing the CLI and the Maintenance CLI
    • Building Data Syncs
      • Types of Data Syncs
      • Common Design Patterns
      • Sync Behaviour
      • Columns and Mappings
        • Calculated Column Examples
      • Listener Configuration
      • Advanced Settings
        • Filters
        • Parameters
        • Auth Requests
        • Request Headers
        • Post Sync Scripts
        • Pagination
      • Batch Data Sync Example
      • Real-Time Sync Example
      • Scheduling a Data Sync
      • Connection Functions
    • CLI Commands List
    • Error Logging and Troubleshooting
    • Supported Data Sync Sources
      • Cinchy Event Broker/CDC
        • Cinchy Event Broker/CDC XML Config Example
      • Cinchy Table
        • Cinchy Table XML Config Example
      • Cinchy Query
        • Cinchy Query XML Config Example
      • Copper
      • DB2 (Query and Table)
      • Dynamics 2015
      • Dynamics
      • DynamoDB
      • File Based Sources
        • Binary File
        • Delimited File
        • Excel
        • Fixed Width File
        • Parquet
      • Kafka Topic
        • Kafka Topic Example Config
        • Apache AVRO Data Format
      • LDAP
      • MongoDB Collection
        • MongoDB Collection Source Example
      • MongoDB Collection (Cinchy Event Triggered)
      • MS SQL Server (Query and Table)
      • ODBC Query
      • Oracle (Query and Table)
      • Polling Event
        • Polling Event Example Config
      • REST API
      • REST API (Cinchy Event Triggered)
      • SAP SuccessFactors
      • Salesforce Object (Bulk API)
      • Salesforce Platform Event
      • Salesforce Push Topic
      • Snowflake
        • Snowflake Source Example Config
      • SOAP 1.2 Web Service
    • Supported Data Sync Destinations
      • Cinchy Table
      • DB2 Table
      • Dynamics
      • Kafka Topic
      • MongoDB Collection
      • MS SQL Server Table
      • Oracle Table
      • REST API
      • Salesforce Object
      • Snowflake Table
      • SOAP 1.2 Web Service
    • Supported Real-Time Sync Stream Sources
      • Cinchy Event Broker/CDC
      • Data Polling
      • Kafka Topic
      • MongoDB
      • Salesforce Push Topic
      • Salesforce Platform Event
  • Other Resources
    • Angular SDK
    • JavaScript SQK
Powered by GitBook
On this page
  • 1. Overview
  • 2. Full File Sync
  • 2.1 Sync Key
  • 2.2 Sync Record Behaviour
  • Delta Sync
  • Appendix A
  • Full File Sync - Conditional Changed Record Behaviour

Was this helpful?

Export as PDF
  1. Data Syncs
  2. Building Data Syncs

Sync Behaviour

PreviousCommon Design PatternsNextColumns and Mappings

Last updated 1 year ago

Was this helpful?

1. Overview

When configuring a data sync you must set your sync behaviour. You have two options for this: Full File or Delta.

Full File syncs intake both the source and the destination data and reconcile the records by matching up the sync key. This determines any differences and allows it to perform updates, inserts, ignores, or deletes at the destination.

Delta syncs skip the reconciliation process. In batch syncs, it simply grabs records from the source and inserts it into the destination. In real-time syncs, it may act differently depending on the event type. For example, when using the Cinchy Event Broker/CDC with an insert event, a delta sync will insert the data into the destination, an update event will update, etc.

Delta syncs also have the option to provide an "Action Type Column" for REST API destinations. This reads the value of the source record from a specified column. If the value is "INSERT", then it inserts the record, "UPDATE", then it updates, "DELETE", then it deletes

2. Full File Sync

When using the Full File synchronization pattern there are two distinct sections that must be configured: the Sync Key and the Sync Record Behaviour (Image 1).

2.1 Sync Key

The Sync Key is used as a unique key reference when syncing the data from the data source into your destination. It is used to match up the data between the source and the target, which allows for updates to occur on changed records.

To set this using a config XML, use the following guide:

  • Elements: <SyncKeyColumnReference>

  • Attributes: name. The name of a column in the destination that you are syncing data into.

<SyncKeyColumnReference
    name:"string">
</SyncKeyColumnReference>

2.2 Sync Record Behaviour

The Sync Record Behaviour is broken down into three subsections which define what action will be taken on certain records (Image 2).

Values in the attributes section of the config XML for record behaviour are case sensitive.

2.2.1 New Record Behaviour

New Record Behaviour defines what action is taken when a new record is found in the sync source. This can be either Insert or Ignore.

To set this using a config XML, use the following guide:

Attribute
Description
Values

type

The type defines the action upon the new record.

It can either be "INSERT" or "IGNORE".

  • "INSERT" will insert the new record.

  • "IGNORE" will do nothing to the record.

<NewRecordBehaviour type="INSERT" />

2.2.2 Dropped Record Behaviour

Dropped Record Behaviour defines what action is taken when a new record is not found in the sync source, but exists in the target. This can be either Delete, Ignore, or Expire.

To set this using a config XML, use the following guide:

Attribute
Description
Values

type

The type defines the action upon the dropped record.

It can either be "IGNORE", "EXPIRE", or "DELETE".

  • "IGNORE" will do nothing to the record.

  • "EXPIRE" will populate a specified expiration timestamp field as the current time. AN expirationTimestampField must be provided. This is a reference to a date/time column in the target that should be updated with the execution timestamp if the record is dropped.

  • "DELETE" will delete dropped records in the target data set.

expirationTimestampField

This attribute is only applicable if the type is equal to "EXPIRE".

The expirationTimestampField is the name of an existing date field to be filled with the current time.

<DroppedRecordBehaviour
    type="EXPIRE"
    expirationTimestampField="string">
    ...
</DroppedRecordBehaviour>

2.2.3 Changed Record Behaviour

Changed Record Behaviour defines what action is taken when a new record with a sync key is found in the sync source and also exists in the target. This can be either Update or Ignore.

To set this using a config XML, use the following guide:

Attribute
Description
Value

type

The type defines the action upon the new record.

It can either be "UPDATE", "IGNORE", or "CONDITIONAL".

  • "IGNORE" will do nothing to the record.

  • "UPDATE" will update the record.

<ChangedRecordBehaviour type="UPDATE" />

Delta Sync

When using the Delta synchronization pattern there is one optional configuration that you can choose to provide when running a sync with a REST API destination (Image 3).

The Action Type Column reads the value of the source record from a specified column. If the value is "INSERT", then it inserts the record, "UPDATE", then it updates, "DELETE", then it deletes.

Appendix A

Full File Sync - Conditional Changed Record Behaviour

Added in Cinchy v5.6, the Changed Record Behaviour - Conditional feature allows you to define specific conditions upon which to update your records (Image 4).

  • Multiple Conditions can be added to a single data sync by using the AND/OR and +Rule buttons.

  • You are able to group your Rules into a Ruleset by using the +Ruleset button.

  • If your Condition evaluates to true then it will update your records

  • The left-most drop down is used to select either a source or a target column as defined in your Source and Destination tabs

  • The centre drop-down is used to select from the following options:

    • =

    • !=

    • Contains

    • Is Null

    • Is Not Null

  • The right-most drop-down can either be used to:

    • A plain value (ex: text, numerical, etc.) This will adjust based on the column data type picked in the left-most drop down. For example, if in the source schema the column is a date, then it renders a date picker.

    • Select either a source or a target column as defined in your Source and Destination tabs (when used in conjunction with the Use Columns checkbox)

For example, the below condition would only update records where the target column "Name" is null (Image 5).

This is used in the element when specifying which columns in the Target Table to be utilized as a unique key for the syncing process.

Contained-In:

"CONDITIONAL" will open a new UI section allowing you to define Conditions upon which to update your records. for more information on the Conditional behaviour.

<SyncKey>
<SyncKey>
Review Appendix A
Image 1: Full File Syncs
Image 2: Sync Record Behaviour
Image 3: Delta Syncs
Image 4: Conditional record behaviours
Image 5: Conditional Example