Free cookie consent management tool by TermsFeed About Data Sync [Data Fabric]
About Data Sync

This page explains what it means to enable data sync on your record type.

What is data sync?

Data sync unlocks a set of powerful features that can speed up your entire development process. These features make it easy to change your data model, access the data you need, and even allow Appian to configure parts of your applications for you.

See the table below for a full list of features that are only available when you enable data sync:

Feature Description
Record type relationships Establish relationships between record types to easily reference related record data throughout your applications. Build relationships between data from different sources, and easily create comprehensive reports and queries using more of your enterprise data.
Custom record fields Extend your data by transforming and manipulating existing record data into new custom record fields. Using predefined templates or expression mode, you can perform operations that calculate new values, group your data, manipulate text, and more. These values are then saved as new fields in the record type.
No-code security configurations Specify, in plain language, who can view which records, views, and actions on a record type. Appian will automatically enforce your security configuration anywhere the record type is used in your app.
Record events Easily keep track of who changes your record data and when so you can better understand your business processes, and use this data to improve them by leveraging our process mining capabilities.
Auto-generate elements of the record type Automatically generate and configure core elements of the record type, like user filters, record views, and record actions.
Data fabric insights Allow business users to build their own custom reports and dashboards using your synced record data in Process HQ. Learn how to prepare and secure for data fabric insights.

How does data sync work?

Data sync caches your source data in Appian. Think of it like a cache on your web browser: when you cache web content locally on your browser, your site content loads faster and improves the speed of your browsing. The same applies when you sync your source data—Appian only has to execute queries against your synced data instead of the external source, so your record data will load faster. In addition to faster queries, Appian also leverages the proximity to your synced data to provide the powerful features listed above.

As you build applications, Appian can keep your synced data up-to-date with the source by automatically syncing any data changed using select smart services. This means that when you use Appian to add, update, or delete data in a database or in Salesforce, we’ll write those changes to your source and immediately sync them in Appian.

For example, let’s say you have a Customer record type that uses a database table as the source. If you use the Write Records smart service to add new customers, then that new customer data will also be synced in Appian and immediately reflected in the record type.

If Appian is the only system writing to your source, then you can be confident that you are always working with fresh data. If there are other systems writing to your source and you want to sync those changes as well, you can schedule a full sync or configure the Sync Records smart service to capture those changes.

How is my synced data secured?

Appian applies the same object-level security to your data across the platform. Whether it is being displayed in an interface, updated in a process, or synced in Appian, any user’s ability to view or edit data is determined by the permissions structure of your application.

You retain complete control over your business data, even when you sync it in Appian. Users can only build with and view synced data through the Appian design objects in your applications; they cannot access it directly. You can even specify who can view your synced data by applying record-level security on your record type.

If, at any time, you want to make your currently synced data unavailable to all users, you only need to disable data sync on that record type.

When to enable data sync

Appian recommends only enabling data sync on new record types.

If you enable data sync on an existing record type, it will create new record fields with new UUIDs. As a result, you will need to update any existing record field references with new ones. Instead, Appian recommends creating new record types with data sync enabled and using them to accomplish specific tasks or requirements.

Additionally, there are some data structures and business scenarios that are better fit for data sync than others. Review the following requirements and considerations before enabling data sync in your record type.

Requirements

  • Row requirements:
    • Your record type does not need more than 4 million rows. Learn more about the row limit and how to avoid exceeding it.
  • Field requirements:
  • Salesforce API requirements:
    • Syncing 1,000 rows of data requires a single API call, so ensure the API limit on your Salesforce instance is large enough to support the number of rows you need to sync. Learn more about the API limit to sync rows from Salesforce.
  • Additional database encryption:
    • You do not need to enable the database encryption capability offered by Appian Cloud. This is an additional layer of protection that can be enabled on top of the out-of-the-box disk encryption provided by Appian Cloud.

    Note:  This requirement only applies to customers that are on Advanced or Enterprise Support.

Row limit

Each record type with data sync enabled can sync up to 4 million rows of data from a source.

If your record type is within 10% of the limit (3,600,000 to 4,000,000 rows), a sync will successfully complete but a warning will appear on the Record Sync Status page.

After the record type exceeds 4 million rows, the record data will become unavailable. If the record type reaches the row limit after Appian writes to your source, the write operation will be successful, but the sync will fail and the record data will be unavailable.

To prevent a record type from exceeding the row limit, enable the Keep data available at high volumes sync option. This allows Appian to dynamically sync the latest 4 million rows of data—preventing the record type from exceeding the row limit.

If you need more than 4 million rows of data from a source, you can use source filters only sync a portion of data from the data source. For example, if you have an Order database table with 6 million rows of data, you could create a record type called Open Orders that only syncs orders that are open or in progress.

Field character limit

Any field values with more than 4,000 characters will be truncated in Appian.

If your source contains fields with more than 4,000 characters, the sync will still complete successfully and you can use the truncated data throughout your applications. However, it's not recommended to use fields with more than 4,000 characters since it will result in a mismatch between the synced data and the source data.

Unique fields have a lower character limit than standard fields and cannot exceed 765 characters.

To remove fields that exceed the character limit, deselect them from the field list when configuring the source of the record type. In the following example, LONG_DESCRIPTION is a field that can contain more than 4000 characters, so we recommend excluding it from the record type.

API limit to sync rows from Salesforce

When your record type uses Salesforce as the source, syncing 1,000 rows of data requires a single API call. If your record type has the maximum number of rows (4 million), the API limit on your Salesforce instance must be at least 1,000 per day. If you have multiple record types that use a Salesforce object with data sync enabled, ensure your API limit is large enough to support all your record types.

For example, say you have five record types that total to 400,000 rows, and each record type has a scheduled sync. To successfully sync each record type, you would need at least 120,000 API calls per month. If the API limit is not high enough, the sync will fail and the record type will be unavailable.

Writes to your source

Appian will automatically sync any data changed by select smart services. If you need to capture changes made by other smart services, or even other systems, you can use the Sync Records smart service to sync those specific rows of data.

Additionally, you should schedule a full sync to occur once each day. This will purge your existing synced data and replace it with the latest data from your source.

Unsupported database columns

There are some databases that have unique data types that are not supported in synced record types. In general, Appian does not support binary large object (BLOB), spatial, or XML types, or any user-defined types.

For binary types, you may still be able to manually map a field in your record type to that column, but it is not guaranteed to work correctly and may fail completely with a future version of Appian.

Note:  If your table includes LONG or BIGINT columns, the safe range of values is from -2,147,483,647 to 2,147,483,647. Numbers outside that range may not be synced correctly. See the Number (Integer) data type for more information about number values in Appian.

The following table provides a reference of unsupported data types and may not be comprehensive. Vendor-specific and user-defined types are generally not supported and may cause record types to not sync or other issues.

Database Vendor Unsupported types
IBM DB2
  • BINARY
  • BLOB
  • CLOB
  • DBCLOB
  • GRAPHIC
Maria DB and MySQL
  • BLOB
  • BINARY
  • LONGBLOB
  • MEDIUMBLOB
  • MULTILINESTRING
  • MULTIPOINT
  • MULTIPOLYGON
  • POINT
  • POLYGON
  • TINYBLOB
  • VARBINARY
  • YEAR
Oracle
  • BFILE
  • BINARYDOUBLE
  • BINARYFLOAT
  • BLOB
  • CLOB
  • INTERVAL_DAY_TOSECOND
  • INTERVAL_YEAR_TOMONTH
  • NCLOB
  • ROWID
  • TIMESTAMP_WITH_LOCALTZ
  • TIMESTAMP_WITH_TZ
  • UROWID
  • VARBINARY
PostgreSQL
  • BIT
  • BIT_VARYING
  • BOX
  • BYTEA
  • CIDR
  • CIRCLE
  • INET
  • INTERVAL
  • JSON
  • JSONB
  • LINE
  • LSEG
  • MACADDR
  • MACADDR8
  • MONEY
  • PATH
  • PG_LSN
  • PG_SNAPSHOT
  • POINT
  • POLYGON
  • TSQUERY
  • TSVECTOR
  • TXID_SNAPSHOT
  • UUID
  • XML
Open in Github Built: Fri, Jun 14, 2024 (05:47:37 PM)

About Data Sync

FEEDBACK