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) orDocument 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
STRINGtype, 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
KPIfunctions.
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.