Backup API Usage

Estimates to Guide Planning

This article discusses estimated utilization of the Salesforce REST API while using the GRAX Auto Backup functionality. All figures provided here are estimates only and do not represent guaranteed figures for real-world utilization.

Auto Backup Fundamentals

GRAX Auto Backup is a low-touch system that captures regular versions of all records in your Salesforce org, assembling a history for each record as it changes. To accomplish this, the system first captures all existing records in the org; it then scans at regular intervals to back up any new changes or records.

This means that the system will query a large amount of data from Salesforce early in the lifetime of your application. Regular, recurring backups will draw only changed records and consist of small numbers of records in most orgs. The change between these two "modes" of the GRAX system is transparent to the user.

API Utilization During Initial Backup

Shortly after you enable Auto Backup, the GRAX application will begin backing up data starting at the beginning of your org, if available. Through the Salesforce REST API, GRAX acheives the following utilization function:

X = total original records in millions
Y = total original files in millions

API Calls To Backfill = (X + Y) * 3000 + 1000000 * Y

At the same time, GRAX estimates potential record throughput of 200 million per day. This all means that for an org with 1 billion records and 500 thousand files, GRAX would roughly consume 3.1 million REST API calls in just over 5 days (up to 600,000 each day).

API Utilization After Initial Backup

After GRAX has processed the history of your org, only changes and new records will be captured for backup. This means the overall load on the system will drop, and REST API utilization will follow. To estimate utilization, we use a very similar function to the above, with modifications to the variables:

X = daily record creates and edits in millions
Y = daily file creates and edits in millions

API Calls Per Day = (X + Y) * 3000 + 1000000 * Y

The key here is that instead of capturing your whole org, GRAX will capture changes or creations, commonly called "record turnover". Due to automation or global services, it is common for customers to have a turnover around 500 thousand records. Given this figure, we would then estimate daily API utilization at 1,500 calls.

Note that the function above uses daily turnovers for a rough estimation - it is possible for a record to get updated more frequently throughout the day and get backed up in multiple recurring backups. This would increase daily utilization for the same number of records, possibly many-fold if rate of change is high on certain records.

Caveats

The figures and functions expressed above are estimates. There are many factors that may affect how many calls Auto Backup will utilize for a given set of data or in a given period of time. While the largest is of course the number of records, the content of each record can play a part as well.

For instance, an object definition that contains a large number of fields - especially long text fields - can significantly decrease the number of such records that can fit in each REST response. Those fields containing large amounts of data will increase the number of utilized calls to back them up.

The are many specifics to each Salesforce dataset that can affect the utilization of the REST API. If you are experiencing difficulties related to your org's Salesforce API limits or contention with other automation, please reach out to a GRAX representative or [email protected].