Multitenancy with shared process engine and separate schema per tenant


#1

It appears Camunda (per the documentation) supports multitenancy either by (1) shared process engine with single schema with tenantid in each table, or (2) separate process engine per tenant where each tenant data is in a separate schema/database.

From our tests, #2 seems to work fine for handful of tenants in a JVM. However, after a few (> 7) tenants, the total memory footprint of process engines goes high since each process engine consumes nontrivial amount of memory.

We would like to use a single process engine but with separate schema per tenant. This is supported as a 3rd multitenancy option in Activiti and Flowable BPM implementations (via MultiSchemaMultiTenantProcessEngineConfiguration) . Is this possible to do in Camunda? What is the recommended path to achieve this option?
Thanks.


#2

Hi @mamunda,

the 3rd multi-tenancy option is currently not supported by Camunda. Feel free to open a feature request.

I guess that it’s possible to implement this in a similar way as Activiti did it. If you like, you can have a look at Activiti and provide a pull request. That would be great!

Best regards,
Philipp


#3

@Philipp_Ossler current stable version(v7.11) of camunda will support this feature? This feature was implemented already? If yes, please provide some insights.


#4

It is not implemented yet. As far as I know there are no plans to add this option in the near feature.


#5

@Philipp_Ossler thanks for your prompt reply :slight_smile:

By the way if you like to provide some insights for this post will be helpful