Skip to main content
Version: 8.9 (unreleased)

Secondary storage

Camunda uses a layered storage model that separates workflow execution data from data used by web applications and APIs.

About secondary storage

Secondary storage is one of the two complementary layers in Camunda’s data model:

LayerPurposeTechnologies you can use
Primary storagePersists real-time workflow execution state managed by Zeebe.RocksDB (embedded in Zeebe)
Secondary storageStores workflow, decision, and task data for querying, visualization, and API access.Elasticsearch/OpenSearch, RDBMS (including H2 and external relational databases)
note

Secondary storage is not a duplicate of primary data. It represents exported workflow and decision data optimized for querying and visualization.

Supported storage options

Camunda supports multiple secondary storage backends.
For the latest list of supported database versions, see the
RDBMS version support policy.

Database typeAvailabilityUse case
Elasticsearch/OpenSearchGeneral availabilitySecondary storage for indexing, search, and analytics.
RDBMS8.9-alpha1+Secondary storage for relational database deployments. See the RDBMS support policy for supported vendors and versions.
OpenSearch support

Camunda 8 supports both Amazon OpenSearch and the open-source OpenSearch distribution.

note

Starting in 8.9-alpha3, Camunda 8 Run and default lightweight installs use H2 as the default secondary storage. Elasticsearch remains supported and is bundled for backward compatibility; OpenSearch is supported for Self‑Managed deployments but is not bundled in Camunda 8 Run. Enable the backend you need explicitly when required.

Data flow

The following diagram shows how secondary storage fits into the Camunda data flow.

Camunda data flow showing secondary storage
  1. The Zeebe broker executes workflow instances and stores state in primary storage.
  2. The exporter, part of Zeebe, streams workflow and task data to secondary storage.
  3. Applications such as Operate, Tasklist, and the REST API read data from secondary storage.

Choosing a secondary storage backend

Camunda supports multiple secondary storage backends, and the right choice depends on your workload and operational constraints.

For guidance on supported vendors, versions, and configuration, see:

note

The documentation is intentionally descriptive rather than prescriptive. Use benchmarking and sizing based on your own workload to choose the secondary storage backend that best meets your requirements.

Learn how to configure secondary storage in Self-Managed environments using Helm, Docker, or manual deployment.

Configure secondary storage

note

Although you should use secondary storage in nearly all production environments, you can choose to disable secondary storage in limited scenarios, such as lightweight development environments, specialized technical use cases, or resource-constrained deployments. See run without secondary storage.

Manage secondary storage

Learn about best practices for data management, backups, and monitoring to ensure data integrity and performance.

Effective secondary storage management ensures stability, scalability, and data integrity across your Camunda environment. By following Camunda best practices, you can avoid data corruption, maintain compliance, and ensure your orchestration environment remains performant and reliable.

Manage secondary storage