Documentation
ksqlDB

ksqlDB

ksqlDB (opens in a new tab) is a purpose-built database for stream processing applications, ingesting data from Apache Kafka (opens in a new tab).

ksqlDB support is available in Cube Cloud on the Enterprise Premier (opens in a new tab) product tier. Contact us (opens in a new tab) for details.

See how you can use ksqlDB and Cube Cloud to power real-time analytics in Power BI:

Prerequisites

  • Hostname for the ksqlDB server
  • Username and password (or an API key) to connect to ksqlDB server

Confluent Cloud

If you are using Confluent Cloud (opens in a new tab), you need to generate an API key and use the API key name as your username and the API key secret as your password.

You can generate an API key by installing confluent-cli and running the following commands in the command line:

brew install --cask confluent-cli
confluent login
confluent environment use <YOUR-ENVIRONMENT-ID>
confluent ksql cluster list
confluent api-key create --resource <YOUR-KSQL-CLUSTER-ID>

Setup

Manual

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

CUBEJS_DB_TYPE=ksql
CUBEJS_DB_URL=https://xxxxxx-xxxxx.us-west4.gcp.confluent.cloud:443
CUBEJS_DB_USER=username
CUBEJS_DB_PASS=password

Environment Variables

Environment VariableDescriptionPossible ValuesRequired
CUBEJS_DB_URLThe host URL for ksqlDB with portA valid database host URL
CUBEJS_DB_USERThe username used to connect to the ksqlDB. API key for Confluent Cloud.A valid port number
CUBEJS_DB_PASSThe password used to connect to the ksqlDB. API secret for Confluent Cloud.A valid database name
CUBEJS_CONCURRENCYThe number of concurrent connections each queue has to the DB. Default is 1A valid number

Pre-Aggregations Support

ksqlDB supports only streaming pre-aggregations.