Camunda engine have an option to choose whether to use the database or not?

Hi,

Do I have to use a database when I use Process engine?
In case of process definition, it is stored in the database after it is parsed, and internally it holds cache (data structure defined in camunda), so I don’t think there will be any performance problems when performing flow. But I want to use only cache instead of database.
Do I have an option to choose whether to use the database or not?

regards,

Choi

Hi,

The engine uses the database for its persistence, checkpointing, transaction management and ultimately eventual consistency of process instances, particularly in clustered environments. I suspect the closest you can get to out of the box is to use an in memory DB system, but you will potentially be giving up a lot…

The real question is what is your use case that you wish to run the engine without an intrinsic component such as the DB?

regards

Rob

1 Like

Hi,

Thank you so much for the quick answer.
I know why should use database in camunda engine.
T he reason I posted an question on the forum was, I wondered if it would be necessary to use a database when performing a flow consisting of nodes that call simple services that do not have long response time.

Also, does using “in memory DB system” mean the same as using in-memory mode, i.e. Configured to run as an in-memory database, in H2 database?
I checked in the example of the integration environment with spring. (https://docs.camunda.org/manual/7.14/user-guide/spring-framework-integration/configuration/)

regards,

Choi

Hi Choi,

does using “in memory DB system” mean the same as using in-memory mode, i.e. Configured to run as an in-memory database, in H2 database?

Essentially yes…but even though you can run like this, and it works well for testing, production is another matter… Ultimately, the engines architecture relies on the database component, so you cant really avoid it. However, these days, the overhead can be minimal. If your requirements are minimal, you could use a local H2 db co-located with the engine. If you need a cluster, then an AWS Aurora instance takes the DB pain away…

Another option you could look at is Zeebe. It could orechestrate as per your requirement and if you use Zeebe cloud, there is very little to provision…

regards

Rob