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
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.