Do BPM changes cause data loss or require message replay?
No. Nodinite enables schema-free changes without data loss. This page explains:
- Why BPM changes never lose historical data or require message replay
- Comparison matrix showing what happens with each type of change
- How reindexing reconstructs views over existing log data
- Real-world scenarios demonstrating schema-free flexibility
- What competing solutions require (and why it's painful)
Add new steps, reorganize domains, refine correlation logic, or restructure processes—all while preserving historical data and maintaining continuity.
Quick Answer
Nodinite BPM is schema-free—log data exists independently of BPM definitions. When you modify a BPM, you're changing the lens through which you view the data, not the data itself. Historical log events remain intact, and you can even create new BPM views over old data through reindexing.
What Happens When I Change My BPM
| Change Type | Historical Data | Visibility | Action Required | Reindexing Supported |
|---|---|---|---|---|
| Add new process step | Preserved | Old data won't show in new step (logged before step existed) | None—new events populate automatically | Yes—can retroactively map old events to new step |
| Reorganize domains | Preserved | All data visible in new domain structure | None—view reflects new organization | Yes—reconstruct with new swimlanes |
| Refine Search Field correlation | Preserved | Old correlations remain; new logic applies going forward | None—dual visibility during transition | Yes—reapply new correlation to historical data |
| Restructure processes | Preserved | Data accessible via original BPM and new BPMs | None—create parallel BPMs if needed | Yes—split/merge views over same data |
| Rename services | Preserved | Display name changes; underlying service unchanged | Use artifact renaming in BPM designer | N/A—cosmetic change only |
| Change step order | Preserved | Same data, different column arrangement | None—visual reordering only | N/A—presentation change only |
| Remove service from cell | Preserved | Service events no longer visible in that BPM step | None—data still in logs, just not in this BPM view | Yes—re-add service later, old events reappear |
| ❌ Delete entire BPM | Preserved | BPM view gone; log data untouched | None—log data remains searchable | Yes—recreate BPM, historical data populates |
Schema-Free Architecture Explained
Permanent Storage] end subgraph "BPM Layer - Flexible Views" BPM1[fa:fa-project-diagram BPM v1
Original Design] BPM2[fa:fa-project-diagram BPM v2
After Changes] BPM3[fa:fa-project-diagram BPM v3
Reindexed View] end LogData -->|"Query & Filter"| BPM1 LogData -->|"Query & Filter"| BPM2 LogData -->|"Query & Filter"| BPM3 style LogData fill:#e8f5e9,stroke:#4caf50,stroke-width:3px style BPM1 fill:#e3f2fd,stroke:#2196f3 style BPM2 fill:#fff3e0,stroke:#ff9800 style BPM3 fill:#f3e5f5,stroke:#9c27b0
BPM definitions are flexible lenses over permanent log data—change the lens, data remains intact.
Real-World Scenarios
Scenario 1: Company Reorganizes Departments
Business Context: Finance department splits into Accounts Payable and Treasury.
With Nodinite BPM:
- Edit BPM → Add new "Treasury" domain
- Move relevant services from "Finance" swimlane to "Treasury" swimlane
- Done - Historical data remains accessible, BPM reflects new org structure going forward
Historical data impact:
- Old events: Still visible, services remain in their original locations
- New events: Automatically populate correct domain based on service assignment
- No data loss, no migration, no downtime, no reindexing needed
Scenario 2: Adding Missing Process Step
Business Context: You realize order fulfillment has a "Quality Check" step you forgot to model.
With Nodinite BPM:
- Add new column "Quality Check" between "Picking" and "Shipping"
- Assign Quality Check service to new cell
- Done - Service events now appear in the new column
Historical data impact:
- Events logged before: Already visible where the service was previously assigned
- Events logged after: Automatically appear in Quality Check column
- Services remain in their locations; only the visualization (column structure) changed
Scenario 3: Refining Correlation Logic
Business Context: You initially correlated by Order ID, but need to add Invoice ID tracking.
With Nodinite BPM:
- Add new Search Field for Invoice ID extraction
- Update BPM correlation to include Invoice ID
- Optional: Reindex to apply new correlation to historical data
Historical data impact:
- Old correlations: Still work (Order ID tracking continues)
- New correlations: Invoice ID tracking starts for new events
- With reindexing: Historical events gain Invoice ID correlation retroactively
What Competing Solutions Require
| Scenario | Nodinite BPM | Competing Solutions |
|---|---|---|
| Org Restructure | Move services between domains, done | Often require data migration or lose historical visibility |
| Add Process Step | Add column, assign services, done | May require message replay or lose historical process visibility |
| Change Correlation | Update Search Fields, reindex for historical data | Often require data re-processing or breaking existing correlations |
| Split/Merge Processes | Create new BPM views over same data | May require duplicate log storage or complex migration scripts |
| Rename Services | Artifact renaming in designer | Often breaks historical references or requires database updates |
Understanding Reindexing
Reindexing = Retroactive BPM modeling over historical log data.
When to use reindexing:
- You modified BPM structure and want historical data to reflect changes
- You discovered a missing process step and want to see past occurrences
- Compliance audit requires process reconstruction with new view
- Forensic analysis needs different process perspective over old data
How it works:
- Historical log events remain in database (unchanged)
- BPM engine re-queries log data using new BPM definition
- Events populate new/modified BPM structure based on updated rules
- Original log timestamps and payloads preserved exactly
Key benefit: Create unlimited BPM views over the same log data without duplication or message replay.
Important Considerations
What you CAN'T do:
- ❌ Change historical log event content (log data is immutable)
- ❌ Retroactively add log events that were never logged
- ❌ Modify timestamps or payloads of existing log events
What you CAN do:
- ✅ Change how you view and organize existing log data
- ✅ Create new correlations over historical events
- ✅ Reorganize process structure without losing data
- ✅ Build multiple BPM perspectives over same log data
Next Step
Ready to implement schema-free BPM workflows? Learn how to Add or manage BPM definitions safely, or explore Retroactive modeling and reindexing for forensic analysis.
Related Topics
- Business Process Model (BPM) - Main BPM overview
- Add or manage BPM - Edit BPM definitions safely
- Domains - Reorganize swimlanes without data loss
- Retroactive modeling and reindexing - Create new views over historical data
- Search Fields - Configure business identifier extraction
- All FAQs - See all BPM FAQs