Skip to main content

Engine limitations

Description

In this section, you can find details of limitations on data selection, object naming, data types, and PQL queries.

Tip

For information on how to optimize your PQL queries, see PQL performance optimization guide. For information on the differences between using the legacy Process Query Engine and the updated new Premium Process Query Engine Understanding Differences Between First-Generation and Premium Process Query Engine Behavior.

Process data model

The PQL engine queries process data models, which represent specific selections of data available in the Celonis Platform. A data model structures data to address a specific business problem or use case. In most cases, a single use case corresponds to one perspective (a logical subset of data). However, certain technical limits apply to these selections, and if your data volume exceeds these limits, you must refine your perspective.

Simple examples of refining perspectives, include:

  • Logical Filtering: For a "Procure-to-Pay" model, you might create different perspectives based on Region (e.g., EMEA vs. APAC) or Document Type.

  • Temporal Filtering: Limiting the data to a specific timeframe, such as only the current calendar year.

Limits per data selection

The following limits apply only to individual data selections (perspectives), not to the total volume of data managed in the Celonis Platform:

  • Row counts per data model:There is no hard limit on the total rows across a whole data model. For example, a model with two tables of 3 billion rows each (6 billion total) is supported.

  • Row counts per table: A single table within a perspective cannot exceed 6 billion rows.

  • Row counts per perspective: The recommended upper limit for a single perspective is 800 million rows.

  • Activities per case: There is no hard upper limit, but for performance reasons, Celonis recommends an average case length of 20 activities or less.

  • Distinct activity types: The hard upper limit is 32,767 per activity table, but to keep visualizations clear, Celonis recommends not exceeding 1,000.

Note

If you encounter issues with data limitations you cannot resolve, it may because you are using the legacy Process Query Engine. In such cases, contact Celonis support to evaluate if your data models are eligible for the new Premium Process Query Engine.

Object naming restrictions

  • Table names and IDs: Must be unique within the data model.

  • Column names and IDs: Must be unique within their respective table.

Note

Table and column names are case-insensitive. You can find more detail about supported table and column names here.

Data types

DATE

The DATE type represents timestamps. Timestamps are supported from the start of the year 1400 to the end of the year 9999 with millisecond precision. Values outside this range are mapped to NULL. You can find more details here.

FLOAT

The implementation of floating point numbers follows the IEEE Standard for Floating-Point Arithmetic (IEEE 754) with 64-bit precision. You can find more details here.

INT

The INT type uses 64 bits to represent integers. It supports the range -9223372036854775808 (-263) to 9223372036854775807 (263-1). You can find more details here.

STRING

The STRING type handles sequences of characters, typically text.

  • Syntax and quoting:

    • Constants must be enclosed in single quotes ('...').

    • Single quotes within a constant must be escaped with a backslash (\').

    • A literal backslash within a constant must be escaped with a backslash (\\).

  • Character support: Unicode characters are supported in all functions that support the STRING type, unless specifically noted otherwise in the function documentation.

  • Size limits:

    • There are limits on the total size of all unique strings in a column.

    • Celonis recommends limiting the total size of unique strings in a single column to 100 GB.

You can find more details about using strings here.

PQL queries

Query Limits

  • Query length:

    • The hard limit for PQL queries or load scripts is 10 million characters; exceeding this returns an error.

    • For performance reasons, Celonis recommends a limit of 50,000 characters per query.

  • Abstract Syntax Tree (AST) nodes:

    • A single query can produce a maximum of 5,000,000 nodes. The AST is the internal representation of the query after parsing.

    • One node roughly represents one operator in a query.

    • The number of nodes can increase rapidly when using certain operators or many nested KPIs within other KPI functions.

Best practices for reducing the query length

  • You can replace IN followed by a long list of values, with a column that contains those values.