This page explains how to design solutions for high-volume processing of large data sets or extract-transform-load (ETL) patterns, such as:
Appian Records makes it easy to unify data across your organization. Using Appian Records, you can converge your system data into a single point of management. Simply choose your data source (whether it be a database, web service, or Salesforce object) and follow the steps to configure your record type. From there, you can adjust your record fields, and even extend your data set by creating custom record fields that calculate and transform your data to fit your business needs.
When needing to ETL data that resides in the Appian Cloud database, setting up the Enhanced Data Pipeline is a viable approach. Data can be collected by querying the database with a read-only user or data can be replicated by exposing the Appian database’s binary logs to your CDC tool of choice.
An alternative is to use Appian processes to perform processing with script tasks and out-of-the-box smart services. Typically this approach is quick to implement and doesn’t require any specialized knowledge. This could be considered a good fit when:
Consider one of the other options if...
The following Appian smart services and plug-ins are commonly used together to efficiently load and process large data sets:
Smart service plug-ins can be used within an Appian process to optimize your more complex and/or high volume processing steps. Plug-ins consolidate long sequences of activity or MNI/looping by delegating the processing to Java, reducing the number of Appian processes and activities.
Plug-ins used for high volume processing should operate or move data entirely within the plug-in. They should not bring data into the Appian process, since this can lead to higher load and memory use. For this reason the following Shared Components are not recommended for high volume processing:
If you can't get the functionality or performance you need from existing plug-ins then you can write your own smart services to perform custom processing. When designing a custom smart service consider the following:
Specialized solutions should be used for extreme cases of volume and complexity. In these cases an external rules engine, document generation, or data integration platform might provide more scalability. Examples of such tools include Mulesoft or Informatica.
When using external systems consider the following: