Introduction to SierraDB
Welcome to SierraDB, a high-performance, distributed event store designed specifically for scalable event sourcing applications.
What is SierraDB?
SierraDB is a modern database built from the ground up for event sourcing workloads. It combines the simplicity of Redis protocol compatibility with distributed architecture principles, providing developers with a powerful foundation for building event-driven systems.
Key Features
- Redis Compatible: Uses RESP3 protocol - works with existing Redis clients
- Horizontally Scalable: Distributed architecture that scales from single node to hundreds
- Event Sourcing Optimized: Purpose-built with strong ordering guarantees
- Real-time Subscriptions: Seamless transition from historical to live events
- High Performance: Rust-powered with consistent performance regardless of database size
- Data Integrity: CRC32C checksums with automatic corruption recovery
Quick Start
Get SierraDB running in 30 seconds:
# Start SierraDB with Docker
docker run -p 9090:9090 tqwewe/sierradb
# Connect with redis-cli
redis-cli -p 9090
# Append some events
EAPPEND user-123 UserRegistered PAYLOAD '{"email":"[email protected]"}'
EAPPEND user-123 EmailVerified PAYLOAD '{"timestamp":"2024-10-18T10:30:00Z"}'
# Read events back
ESCAN user-123 - +
Why SierraDB?
Traditional databases weren't designed for event sourcing patterns. SierraDB solves this by providing:
- Append-only storage optimized for event streams
- Monotonic version and sequence numbers making consumer logic much simpler
- Built-in subscriptions perfect for projections and event handlers
- Predictable performance that doesn't degrade with database size
Architecture Overview
SierraDB organizes data using a three-tier hierarchy:
- Buckets: Top-level data organization (default: 4 buckets)
- Partitions: Distribution units for scalability (default: 32 partitions, 8 per bucket)
- Segments: 256MB files that ensure consistent write performance
Events are distributed across partitions using consistent hashing, enabling parallel processing while maintaining ordering guarantees within each partition.
What's Next?
- Quick Start Guide - Get up and running in minutes
- Installation - Docker, Cargo, or build from source
- Core Concepts - Understand the fundamentals
- Commands Overview - Complete command documentation
Development Status
SierraDB is under active development with extensive testing and validation:
- ✅ Stable under long-running stress tests
- ✅ Comprehensive fuzzing campaigns
- ✅ Performance validation across various workloads
- 🚧 Approaching production readiness
While SierraDB demonstrates strong stability in testing, it is not yet recommended for production use. The project is actively working toward production readiness.
Ready to get started? Check out our Quick Start Guide to begin building with SierraDB.