KurrentDB is an event-native database designed for event sourcing and event-driven architectures. It stores events as immutable, ordered records in streams, preserving a complete audit trail and enabling temporal queries. The database uses gRPC for all client-server and inter-node communication, providing efficient binary serialization and bidirectional streaming, and supports atomic multi-stream writes that ensure consistency across multiple streams in a single transaction.
The database distinguishes itself with a built-in JavaScript projection engine that transforms, filters, and aggregates event streams in real time, enabling materialized views and stream composition. It offers durable, checkpointed subscriptions that survive client restarts and network interruptions, and includes a Kubernetes operator for managing cluster lifecycle on Kubernetes. Authentication is handled through a plugin-based system supporting OAuth and LDAP, with role-based access control at the organization and project level.
KurrentDB can be deployed as a managed cloud service on AWS, Azure, or GCP, or as a self-managed instance on user-controlled infrastructure. It provides official gRPC client libraries for Python, Node.js, Java, .NET, Go, and Rust, along with an HTTP API for environments where gRPC is unavailable. The database includes connectors for syncing event streams with external systems, and supports infrastructure automation through Terraform, Pulumi, and a dedicated CLI tool.