ClickHouse

Prerequisites

Setup

Manual

Add the following to a .env file in your Cube project:

CUBEJS_DB_TYPE=clickhouse
CUBEJS_DB_HOST=my.clickhouse.host
CUBEJS_DB_NAME=my_clickhouse_database
CUBEJS_DB_USER=clickhouse_user
CUBEJS_DB_PASS=**********

Environment Variables

Environment VariableDescriptionPossible ValuesRequiredSupports multiple data sources?
CUBEJS_DB_HOSTThe host URL for a databaseA valid database host URL
CUBEJS_DB_PORTThe port for the database connectionA valid port number
CUBEJS_DB_NAMEThe name of the database to connect toA valid database name
CUBEJS_DB_USERThe username used to connect to the databaseA valid database username
CUBEJS_DB_PASSThe password used to connect to the databaseA valid database password
CUBEJS_DB_CLICKHOUSE_READONLYWhether the ClickHouse user has read-only access or nottrue, false
CUBEJS_CONCURRENCYThe number of concurrent connections each queue has to the database. Default is 5A valid number
CUBEJS_DB_MAX_POOLThe maximum number of concurrent database connections to pool. Default is 20A valid number

Pre-Aggregation Feature Support

count_distinct_approx

Measures of type count_distinct_approx can not be used in pre-aggregations when using ClickHouse as a source database.

Pre-Aggregation Build Strategies

To learn more about pre-aggregation build strategies, head here.

FeatureWorks with read-only mode?Is default?
Batching
Export Bucket--

By default, ClickHouse uses batching to build pre-aggregations.

Batching

No extra configuration is required to configure batching for ClickHouse.

Export Bucket

ClickHouse does not support export buckets.

SSL

To enable SSL-encrypted connections between Cube and ClickHouse, set the CUBEJS_DB_SSL environment variable to true. For more information on how to configure custom certificates, please check out Enable SSL Connections to the Database.

Additional Configuration

You can connect to a ClickHouse database when your user's permissions are restricted (opens in a new tab) to read-only, by setting CUBEJS_DB_CLICKHOUSE_READONLY to true.