Query Aiven for ClickHouse® databases
Run a query against an Aiven for ClickHouse® database using a tool of your choice.
To ensure data security, stability, and its proper replication, we equip
our managed Aiven for ClickHouse® service with specific features, some
of them missing from the standard ClickHouse offer. Aiven for
ClickHouse® takes care of running queries in the distributed mode over
the entire cluster. In the standard ClickHouse, the queries CREATE
,
ALTER
, RENAME
and DROP
only affect the server where they are run.
In contrast, we ensure the proper distribution across all cluster
machines behind the scenes. You don't need to remember using
ON CLUSTER
for every query.
There are limitations on the number of concurrent queries and the number of concurrent connections in Aiven for ClickHouse. Depending on your service plan:
max_concurrent_queries
ranges from25
to400
.max_concurrent_connections
ranges from1000
to4000
.
See Aiven for ClickHouse® limits and limitations for details.
For querying your ClickHouse® databases, you can choose between our query editor, the Play UI, and the ClickHouse® client.
Query a database with a selected tool
Query editor
Aiven for ClickHouse® includes a web-based query editor, which you can find in Aiven Console by selecting Query editor from the sidebar of your service's page.
When to use the query editor
The query editor is convenient to run queries directly from the console on behalf of the default user. The requests that you run through the query editor rely on the permissions granted to this user.
Examples of queries
Retrieve a list of current databases:
SHOW DATABASES
Count rows:
SELECT COUNT(*) FROM transactions.accounts
Create a role:
CREATE ROLE accountant
Play UI
ClickHouse® includes a built-in user interface for running SQL queries. You can access it from a web browser over the HTTPS protocol.
When to use the play UI
Use the play UI to run requests using a non-default user or if you expect a large size of the response.
Use the play UI
- Log in to Aiven Console, choose the right project, and select your Aiven for ClickHouse service.
- In the Overview page of your service, find the Connection information section and select ClickHouse HTTPS & JDBC.
- Copy Service URI and go to
YOUR_SERVICE_URI/play
from a web browser. - Set the name and the password of the user on whose behalf you want to run the queries.
- Enter the body of the query.
- Select Run.
The play interface is only available if you can connect directly to ClickHouse from your browser. If the service is restricted by IP addresses or in a VPC without public access, you can use the query editor instead. The query editor can be accessed directly from the console to run requests on behalf of the default user.
Query a non-replicated table
Behind the DNS name of your Aiven for ClickHouse service, there are multiple nodes. When
you query a non-replicated table, for example a log table, requests are routed randomly to
one of the nodes regardless of how data is distributed across them. A particular row is
found only if your SELECT
query is directed to the node which executed a WRITE
on
this row.
To query a non-replicated table across all the service nodes, use clusterAllReplicas
as follows:
SELECT *
FROM clusterAllReplicas(default, system.query_log)
WHERE query_id = '1a2b3c4d5e6f7g8h9i0j1a2b3c4d5e6f7g8'