If you have large data integration operations that do full reloads or rewrites, you should consider using incremental processing.
A full reload integration operation might use an unnecessarily high amount of Salesforce server resources, which could result in degradation in organization-wide processing performance, which could impact Bulk API jobs and other DML operations.
Incremental processing involves working with just the data that changed and only updating or retrieving the changed data.
Read this article to learn about incremental processing, understand when and where you need to use it, and patterns you can use to apply it.
The following guidance explains how to evaluate your integration operations for full-reload patterns and convert them to incremental processing. Incremental processing updates only changed records, reducing server load and synchronization lag for Salesforce Bulk API and DML operations. Use this article to identify whether your operations qualify for incremental processing and to find patterns that apply to your use case.
Large data integration operations, especially integration operations that need to be run on a regular basis, need to be managed carefully. An integration operation that processes millions of records every day can obviously have direct impact on organization performance for you and your users. In some cases, small changes to the integration operation can significantly reduce the amount of data processing, which can improve performance and user experience.
Your integration operations might be doing more work than they have to. If you have operations that reload or rewrite entire tables wholesale, you might benefit from updating your integration operations to use incremental processing. Incremental processing involves working with just the data that changed and only updating (or retrieving, for outbound operations) that changed data in Salesforce.
Doing full reloads in cases where you could be doing incremental processing can potentially cause many problems in your organization.
A full reload integration operation might use an unnecessarily high amount of Salesforce server resources, which could result in degradation in organization-wide processing performance, which could impact Bulk API jobs (or other data loading jobs), Dashboard and Report performance, Apex code (@future or batch Apex), and even general page performance.
A full reload integration operation will take longer to complete than one that uses incremental processing. This can cause a synchronization gap between systems. For example, if your integration operation takes several hours or longer to complete, there will be a significant delay before users see Salesforce updates that match with the external system changes, which might result in user confusion on whether the external changes were really synchronized or not.
In extreme cases with a large number of records, a full reload integration could take so long to run that it might overlap with a different operation (or even itself, if the operation is run on a regular basis). This could result in excessive resource consumption, record locking, performance degradation and possibly even failed data changes that would leave the data in an invalid state.
Full reloads can even affect other aspects of Salesforce in subtle ways. For example, one way an integration operation might do a reload would be to delete all records for a given object, and then do an insert of all records (changed and unchanged) using the external resource data. Normally, deleted records are moved to the recycle bin, and once the recycle bin is emptied, a regularly scheduled Salesforce process (the physical delete process) does the final removal of the records. Until that happens, the deleted records can actually affect the query optimizer. This in turn will result in suboptimal query plans (largely on data which hasn’t really changed), that will impact query and report performance.
There are many scenarios where you might have created an operation that does full reloads of record sets. You should review the following examples to see if they match your operations, and if so, consider updating your operations to use incremental processing.
You should use incremental processing whenever the Salesforce processing time to complete the integration data change is less than the processing time it would take to rewrite or reload the entire data set. In most scenarios, for regularly run integration operations that are synchronizing data with Salesforce, the expected processing time for the modified records should be less than the time it would take to completely reload all records.
There are scenarios where you won’t be able to use incremental processing. If the data changes affect all, or the majority of records for a particular object, you’ll probably need to do full reloads.
Additionally, as mentioned in the examples above, you might have situations where business requirements or technical limitations limit you from changing the operations to use incremental processing.
For inbound integration operations that are pushing data changes from an external system to Salesforce, here are some ways to use incremental processing.
For outbound integration operations that pull data from Salesforce into external systems, here are some ways to use incremental processing.
On average, it is more common that data integration operations process a relatively small percentage of the overall data set involved. Because of this, if you have any integration operations that are doing full reloads, you should review these operations to see if you can utilize incremental processing. Doing so will improve the overall performance of your organization, remove potential sources of data integration errors, and help ensure your architecture can scale with your business.
000382007

We use three kinds of cookies on our websites: required, functional, and advertising. You can choose whether functional and advertising cookies apply. Click on the different cookie categories to find out more about each category and to change the default settings.
Privacy Statement
Required cookies are necessary for basic website functionality. Some examples include: session cookies needed to transmit the website, authentication cookies, and security cookies.
Functional cookies enhance functions, performance, and services on the website. Some examples include: cookies used to analyze site traffic, cookies used for market research, and cookies used to display advertising that is not directed to a particular individual.
Advertising cookies track activity across websites in order to understand a viewer’s interests, and direct them specific marketing. Some examples include: cookies used for remarketing, or interest-based advertising.