SquirrelDB is a scalable and highly available timeseries database (TSDB) compatible with Prometheus remote storage. Timeseries are stored in Cassandra to provide scalability and availability.
- Time Series Database with Prometheus Long Term Storage
- Support pre-aggregation of data for faster read
- Rely on Cassandra, well known and reliable NoSQL database
- Support single node and cluster architectures
- Expose PromQL, remote read and write Prometheus endpoints
SquirrelDB allows both availability and scalability:
- The long term storage availability and scalability is done by a Cassandra cluster by using a replication level > 1 (3 is recommended).
- 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 instance 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 de deployed.
You can test SquirrelDB easily with Cassandra, Prometheus, Grafana and Node Exporter using the provided Docker compose on SquirrelDB GitHub repository.