Open Source

SquirrelDB

A scalable, high-performance time series database built for modern observability. Fully compatible with Prometheus, optimized for long-term storage and fast queries.

Why SquirrelDB?

High Performance

Optimized for fast ingestion and query performance. Handle millions of metrics with ease.

Scalable Architecture

Horizontally scalable design. Add nodes as your data grows without downtime.

Prometheus Compatible

Drop-in replacement for Prometheus remote storage. Use existing tools and dashboards.

Long-Term Storage

Efficient storage engine optimized for long-term retention with automatic downsampling.

Production Ready

Battle-tested in production environments. Reliable and well-documented.

Multiple Backends

Support for Cassandra and PostgreSQL as storage backends. Choose what fits your needs.

Architecture

Prometheus / Grafana
โ†“
SquirrelDB API
โ†“
Storage Backend (Cassandra / PostgreSQL)

Key Components

  • Ingestion Layer: High-throughput metric ingestion with buffering and batching
  • Query Engine: Optimized PromQL-compatible query engine
  • Storage Layer: Pluggable storage backend with compression
  • Indexing: Fast label-based indexing for efficient queries

Features

Prometheus Compatibility

  • Remote Write API support
  • Remote Read API support
  • PromQL query language
  • Compatible with Grafana and other tools

Performance

  • High ingestion throughput
  • Fast query response times
  • Efficient memory usage
  • Optimized for SSD storage

Scalability

  • Horizontal scaling
  • Distributed query execution
  • Automatic sharding
  • Load balancing

Reliability

  • Data replication
  • Automatic failover
  • Point-in-time recovery
  • Monitoring and alerting

Storage

  • Automatic downsampling
  • Configurable retention policies
  • Compression algorithms
  • Multiple storage backends

Operations

  • Simple deployment
  • Docker and Kubernetes support
  • Comprehensive metrics
  • Health checks and diagnostics

Quick Start

Docker Compose

version: '3'
services:
  cassandra:
    image: cassandra:4
    environment:
      - MAX_HEAP_SIZE=1G
      - HEAP_NEWSIZE=256M
    volumes:
      - cassandra-data:/var/lib/cassandra

  squirreldb:
    image: bleemeo/squirreldb:latest
    ports:
      - "9201:9201"
      - "9090:9090"
    environment:
      - SQUIRRELDB_CASSANDRA_ADDRESSES=cassandra:9042
    depends_on:
      - cassandra

volumes:
  cassandra-data:

Configure Prometheus

Add to your prometheus.yml:

remote_write:
  - url: http://squirreldb:9201/api/v1/write

remote_read:
  - url: http://squirreldb:9201/api/v1/read

Query with Grafana

Add SquirrelDB as a Prometheus data source:

  • URL: http://squirreldb:9090
  • Type: Prometheus
  • Access: Server (default)

Join the Community

SquirrelDB is open source and actively developed. We welcome contributions, feedback, and collaboration from the community.

Apache 2.0
License
Go
Language
Production
Ready