Data Migrator
Use the Data Migrator to copy runtime and audit data from Camunda 7 to Camunda 8.
- Runtime migration: Targeted for Camunda 8.8.
- History migration: Experimental and not intended for production usage.
Modes of operation
The Data Migrator offers two modes of operation:
- Runtime migration: Migrate running process instances and continue execution in C8. Production-ready with Camunda 8.8.
- History migration: Copy audit (history) data to C8 (experimental). Not intended for production, currently an experimental feature.
Migration details are summarized as follows:
What is migrated | What is NOT migrated |
---|---|
|
|
Key Features
- State-preserving migration: Maintains exact execution state of running process instances
- Variable data migration: Converts and migrates process variables with proper type handling
- Validation and verification: Pre-migration validation to ensure successful migration
- Skip and retry capabilities: Handle problematic instances gracefully with retry options
- Detailed logging and reporting: Comprehensive logging for monitoring migration progress
- Database flexibility: Support for multiple database vendors (H2, PostgreSQL, Oracle)
Typical choreography of runtime and history migration
As described in the roll-out phase of the migration journey, you will typically use the following sequence of tasks when applying both data migrations (while keeping downtimes to a minimum):
- Stop the Camunda 7 solution (normally shut down your application).
- Start the Data Migrator in "running instance migration mode".
- Wait until running instance migration is completed.
- Start the new Camunda 8 solution immediately so migrated process instances can continue right away.
- Start the Data Migrator in "history migration mode".
- The migrator runs until all history data is migrated while Camunda 8 process execution continues in parallel.
With this approach, the duration of history migration doesn't block big bang migrations.
Customization
You might need to customize the data migration, especially if you used complex data formats in C7 (for example, Java objects) that need to be converted to something Camunda 8 can handle (for example, JSON).
As part of this step, you might also need to extract big payloads and binaries (like documents) into an external data store and reference it from the process (using, for example, upcoming document handling possibilities).
Repository
You can track progress and releases in the repository: https://github.com/camunda/camunda-7-to-8-data-migrator