Skip to main content

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?

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.