Backups are an integral part of any database system, ensuring your information is safe and up-to-date in the event of system failures and crashes. Until now, Claris FileMaker Server has backed up the files in your solution one-by-one, but FileMaker Server 19.5 has introduced the ability to enable parallel backups, and it's a game-changer, greatly increasing the efficiency of protecting your important information.
What is a parallel backup?
Traditionally, FileMaker has used a linear, one-by-one approach to perform backups. Now, with parallel backups, the server can backup multiple files at once, greatly speeding up the process. To assign a definition to the process, a parallel backup is the backing up of multiple files simultaneously across multiple processors or CPU threads.
Parallel backups are an example of Task Parallelism, in which a task is broken down into easier-to-handle subtasks to be executed. These tasks are then handled concurrently by the server machine's processor. To use a tangible example, think that a single cashier at a store has a long line of customers that they have to check out one at a time. This would take that one person a considerable amount of time. Now a second cashier comes in and is also able to check customers out. The first cashier's line sees this new cashier and half of them go to the second's line. These two cashiers are now both handling a customer, meaning two customers are being checked out at a time as opposed to one, saving both cashiers a large amount of time. Applying this to backups, our two threads, or "cashiers", can process one file each, greatly reducing the time and improving the
overall efficiency of the backup process.
FileMaker Parallel Backups
To perform a backup in Parallel, FileMaker Server 19.5 makes use of transaction data from FileMaker Pro 19.5 and FileMaker WebDirect to separate related backup files into groups. Each of these groups is then backed up in its own thread during the backup. In progressive backup, the pause and resume steps for each thread are processed in parallel.
Compared to backing up files sequentially, you'll see definite performance improvements. These performance improvements can be even more notable when:
Backups are processed on hard drives optimized for parallel write requests
Backups are processed while one or more files are in use
Working With Parallel Backups
You can enable Parallel backups on your server by navigating to Backups from the top navigation and selecting "Backup Settings". There you'll find a toggle for Parallel Backup, this can be enabled and disabled as desired.
Parallel Backups can also be enabled, disabled, or viewed in the FileMaker Server Admin Console using the commands:
View: fmsadmin get serverprefs ParallelBackupEnabled
Enable: fmsadmin set serverprefs ParallelBackupEnabled=true
Disable: fmsadmin set serverprefs ParallelBackupEnabled=false
The FileMaker Admin API also supports these functionalities with the URL https://host/fmi/admin/api/v2/server/config/parallelbackup
Enabling and disabling Parallel Backups is done using the PATCH method and a boolean value used to toggle the feature, returning a JSON to designate if the change was accepted, as seen below.
-X PATCH https://host/fmi/admin/api/v2/server/config/parallelbackup --header 'Content-Type: application/json' --header 'Authorization: Bearer ClarisIDToken' -d 'parallelBackupEnabled: true'
In the above example "host" will be replaced by your server's address or IP, and ClarisIDToken will be replaced by a Claris ID Authentication token received after authenticating with your admin credentials.
To check if Parallel Backups are enabled, the PATCH method is used, and returns a JSON object designating whether the feature is enabled or disabled.
-X GET https://host/fmi/admin/api/v2/server/config/parallelbackup --header 'Content-Type: application/json' --header 'Authorization: Bearer ClarisIDToken'
If you need any further information on the Admin API, you can view our article about it here.
When backups are processed in parallel, a new event log message is created that includes the fileset, a numeric ID for a group of databases backed up together. Below are a few examples of log messages you'll see when performing parallel backups.
Start of backup fileset 0, total files 1
Starting to back up database DBName1, current status: Normal(fileset: 0)
Backup of DBName1 completed, current status: Normal(fileset: 0)
End of backup fileset 0, total files 1
You will have strings of messages following these patterns for each file and fileset being backed up, as well as messages indicating any problems that may occur during the backup process.
Parallel Backups are a powerful tool to increase the efficiency of protecting and storing your organization's important data. The ability to backup multiple files at a time is a huge evolutionary step in the world of data protection and recovery, greatly reducing the time needed to ensure the safety of information across multiple databases. If you have any questions about Parallel Backups, please contact DB Services and we'll be glad to help!
Did you know we are an authorized reseller for Claris FileMaker Licensing?
Contact us to discuss upgrading your Claris FileMaker software.