clickhouse-playground

module
v0.14.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 8, 2026 License: Apache-2.0

README

ClickHouse Playground

ClickHouse Playground allows running SQL queries from a browser without having a database instance on the user's side. It allows to run any queries in arbitrary ClickHouse version and share the execution results with others.

Try it out: fiddle.clickhouse.com.

You can read about the motivation and more technicalities at the About page.

Architecture overview


architecture overview

There is a coordinator that creates a Docker container with a desired ClickHouse version for every incoming user request. Containers are created on runners, these can be both remote servers and the local system.

When the execution finishes (or force stopped due to timeouts), the result is saved in a query storage and is returned to the user. The saved result can be accessed by the generated ID.

Users communicate with the playground using REST API.

Repository layout


  • cmd/, internal/, pkg/ — Go backend and API.
  • ui/ — React/TypeScript web application. See its README for local UI commands.
  • deploy/ — production and local Docker Compose configurations.

Directories

Path Synopsis
cmd
create-dynamodb command
server command
internal
buildtype
Package buildtype enumerates the kinds of ClickHouse builds the playground can run.
Package buildtype enumerates the kinds of ClickHouse builds the playground can run.
cibuild
Package cibuild resolves a released ClickHouse version and build type into the set of .deb package URLs needed to build a matching Docker image locally.
Package cibuild resolves a released ClickHouse version and build type into the set of .deb package URLs needed to build a matching Docker image locally.
pkg
clickhousebuilds
Package clickhousebuilds is a client for discovering ClickHouse CI build artifacts.
Package clickhousebuilds is a client for discovering ClickHouse CI build artifacts.
dockerregistry
Package dockerregistry lists Docker Hub image tags through the registry API (auth.docker.io + registry-1.docker.io) instead of the hub.docker.com web API, which is behind a Cloudflare challenge.
Package dockerregistry lists Docker Hub image tags through the registry API (auth.docker.io + registry-1.docker.io) instead of the hub.docker.com web API, which is behind a Cloudflare challenge.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL