Multiple databases but single BPMN

Is it possible to use multiple DB schema for single BPMN. Like some portion of BPMN can save/retrieve state to different DB schema, while other portion saves to different DB schema?

@Jay0 Yes it’s possible in one way. That is, splitting your monolith process model into microservices architectural style process models. So that way you can distribute/deploy the process models to various nodes/datastore. And the communication between processes could be using rest api.

https://blog.bernd-ruecker.com/avoiding-the-bpm-monolith-when-using-bounded-contexts-d86be6308d8

https://blog.bernd-ruecker.com/the-microservice-workflow-automation-cheat-sheet-fc0a80dc25aa

Thanks aravindhrs
My use-case is less about monolith vs microservices, but more about increasing the scalability of the process. If I could do some sharding or run some of the BPMN components in different DB. I could achieve good scalability.

If this is not the case, then there’s no point in storing process itself in different machines.

For scaling perspective,

  • You can add more nodes behind the load balancers to handle the network traffic or jobs.
  • Additionally you can try external-task patterns to handle the jobs outside the process application so that you can scale workers for the specific topic.
  • Another option is horizontally sharding the database might help you achieving the performance.

Follow this blog for sharding:

1 Like