Skip to content
BleemeoBleemeo

SquirrelDB Time-Series Database

SquirrelDB logo

Go Report Card License Docker Image Version Docker Image Size

SquirrelDB is a scalable and highly available timeseries database (TSDB) compatible with Prometheus remote storage. Timeseries are stored in Cassandra or in ClickHouse to provide scalability and availability.

  • Time Series Database with Prometheus Long Term Storage
  • Supports pre-aggregation of data for faster reads
  • Relies on Cassandra or ClickHouse, two well-known and reliable databases
  • Supports single-node and cluster architectures
  • Exposes PromQL, remote read and write Prometheus endpoints

The long term storage is provided by one of two interchangeable backends, selected with the backend configuration option:

  • Cassandra, the default, a distributed NoSQL database.
  • ClickHouse, a columnar database that compresses points column by column and keeps its pre-aggregate up to date continuously.

The storage backends page compares them and documents the supported ClickHouse deployments. An existing Cassandra deployment can be migrated to ClickHouse without data loss and with no downtime.

SquirrelDB allows both availability and scalability:

  • The long term storage availability and scalability is done by a Cassandra cluster (with a replication level > 1, 3 being recommended) or by a ClickHouse cluster using replicated tables.
  • The short term storage (by default last 15 minutes) is stored in-memory by default and can be configured to be stored in Redis. A Redis cluster will provide availability and scalability of short term storage.
  • When short term storage is provided by Redis, SquirrelDB instances are stateless, scaling them is just adding more of them behind a load-balancer (like nginx).

Check out the high availability page to see how this setup can be deployed.

You can test SquirrelDB easily with Cassandra, Prometheus, Grafana and Node Exporter using the provided Docker compose on SquirrelDB GitHub repository.