Use this open-source product to reduce application downtime when migrating files with huge quantities of records.
Do you have files with millions or even billions of records? Imagine you have to change such a file—for example, a new field has to be added. Possibly, you have the time to migrate this file on the weekend. But what if your shop works 24 hours a day and 7 days a week? In this case, it's absolutely necessary to reduce the time needed for the migration to avoid a long shutdown of the application.
This is the point when Rapid Fire comes in. With this brand new open-source project, it's possible to reduce application downtime to a minimum. Instead of shutting down the application for hours or even days, you can reduce downtime to minutes with Rapid Fire.
Figure 1: This the status panel of a Rapid Fire job.
First let's have a look how such a task will be accomplished today. There are several ways.
- If you have a DDS-described physical file, you can use command CHGPF to apply the changes.
- If you have an SQL table, you can use the command ALTER TABLE to apply the changes.
- You can create the new file by using the commands CRTPF or CREATE TABLE and then use command CPYF to copy the records from the old file to the new file.
All these ways have one thing in common: the users have to leave the application from the moment you start the migration to the end. Depending on the amount of records in the file, this can be a very long time.
Now let's have a look how such a task will be accomplished by Rapid Fire.
- A special library—the shadow library—will be created.
- The file with the new structure will be created in the shadow library.
- An RPG program will be generated to copy the records from the file with the old structure in the production library to the file with the new structure in the shadow library.
- If the file in the production library has not already been journaled, a journal will be created in the shadow library and the file in the production library will be journaled in the created journal.
- Now the copy process starts, which copies the records from the file in the production library to the file in the shadow library. This process runs in the background, and the users don't have to leave the application and can continue their work.
- The copy process can take hours or even days. A separate Rapid Fire job receives the changes in the file of the production library. Rapid Fire receives these changes from the journal the file is journaled to. These changes will be applied periodically to the file in the shadow library. Now the file in the production library and the file in the shadow library are in synchronization.
- When all records are copied, all changes are applied, and you have reached the time frame for the installation, you have to ensure the users leave the application. After this, you can stop the Rapid Fire job. The last thing you have to do is to promote the file in the shadow library to the production library manually.
There are just a few features that are not provided by the open-source version of Rapid Fire. These features will be provided if you use Rapid Fire together with our Change Management System CMOne. These features allow you to:
- Apply the last number of an identity column in the file of the production library to the corresponding file of the shadow library
- Apply triggers
- Apply referential constraints
- Promote the file in the shadow library to the production library
Rapid Fire needs IBM i V7R1M0 to run. You can get Rapid Fire for free here.