EventStoreDB Feature List
EventStoreDB Feature List
Core Features
Event-Native Database
Feature Name | Description |
---|---|
A log where events are only appended and never modified, serving as an immutable audit trail that captures all historical changes within a system. | |
All events stored in EventStoreDB cannot be altered once appended, ensuring data integrity and simplifying troubleshooting. | |
Guaranteed Write | Writes are guaranteed to be fully durable once acknowledged. |
Events are ordered by their append time across both the event log and streams to facilitate operations where the sequence of execution is crucial. Events are guaranteed to be read in the same consistent order whenever they are consumed. | |
Sequential Event Numbering | An event appended to a stream is automatically assigned a strictly monotonically increasing number (without gap) to ensure reliable state reconstruction and concurrency handling |
Events in streams are indexed to provide fast access to groups of events in the event log. | |
EventStore supports billions of streams, allowing granular event organization to efficiently track the lifecycle of every distinct entity within a system. | |
Concurrent appends that lead to lost updates can be prevented with optimistic concurrency control. This is done in a lock-free manner, to reduce contention and performance overhead. | |
Multiple Hosting Options | EventStoreDB is available fully managed with or self-managed on Linux, Windows, macOS, or with Docker |
Projection
Feature Name | Description |
---|---|
Quickly retrieve indexed events from streams that share the same category. | |
Quickly retrieve indexed events that share the same event type. | |
Quickly retrieve indexed events with the same correlation ID, enabling data lineage and root cause analysis. | |
Allows users to define custom projections in javascript to transform or filter events to another stream or a state programatically. |
Subscription
Feature Name | Description |
---|---|
Self-managed subscription of filtered events by stream or event type from a particular position or in real-time as events occur. | |
Server-managed subscription that supports multiple competing consumers, checkpointing, retries, and parking (i.e., dead-lettering) |
Connector
Feature Name | Description |
---|---|
Fully configurable integration to external systems that can push events from EventStoreDB in real-time. Supports at least once delivery, retry, event filtering, event transformation, automatic checkpointing, leases, and high availability. | |
Publishes events from EventStoreDB to an HTTP endpoint. | |
Publishes events from EventStoreDB to Kafka topic or partition using a key found in the events. Supports broker acknowledgment and basic authentication. | |
RabbitMQ Sink | Publishes events from EventStoreDB to a RabbitMQ exchange. Supports broker acknowledgment and basic authentication over a secured connection. |
MongoDB Sink | Publishes events from EventStoreDB to a MongoDB collection or document. Supports basic authentication. |
Clustering
Feature Name | Description |
---|---|
Ensures high availability and fault tolerance by using secure, quorum-based replication, leader election via the gossip protocol, and configurable node roles and communication, with each node independently maintaining data without shared disks. | |
Cluster nodes that replicate data asynchronously from the cluster but do not participate in write operations, elections, or quorum. Used primarily to scale read operations. |
Interface and SDK
Feature Name | Description |
---|---|
Client SDKs are available in Python, Java, .NET, Node.js, Go, and Rust to use and administer EventStoreDB. | |
gRPC API | Provides an API based on the gRPC protocol for high performance, low latency, and streaming support for all EventStoreDB operations |
Offers simple and basic RESTful administration of EventStoreDB. | |
TCP API | A deprecated API that provides low-level, high throughput TCP access to EventStoreDB. Not supported for releases after 23.10. |
User Interface
Feature Name | Description |
---|---|
The web-based EventStoreDB user interface that manages events, streams, server configurations, monitoring, etc. | |
Event Store Navigator | The next-generation EventStoreDB user interface built as a native desktop application. |
Security
Authentication
Feature Name | Description |
---|---|
Authenticate users based on credentials provided. | |
Connect to an identity server and authenticate users based on JWT | |
Authenticate users against LDAP-based directory services. | |
Support user-based X.509 certificates for authentication. |
Authorization
Feature Name | Description |
---|---|
Create, update, and assign users to pre-defined user groups. | |
Define which users or groups can read, write, or delete on a stream level. | |
Define access policies to control who can read, write, or delete streams for multiple streams using stream rules. |
Encryption
Feature Name | Description |
---|---|
Secure events stored on disk using file-level encryption. | |
Use TLS to secure data during network transmission. | |
The command line interface that eases the generation of a certificate authority and node certificates for encryption in transit. | |
Compliance with FIPS 140-2 standards for cryptographic modules. |
Operations
Configuration
Feature Name | Description |
---|---|
Configure EventStoreDB through YAML, environment variables, or the command line |
Data Cleanup and Housekeeping
Feature Name | Description |
---|---|
Truncate streams by max age, max count, or before a particular position or delete an entire stream. | |
Manually reclaim disk space for compliance or storage purposes by completely removing truncated and deleted streams from disk. | |
Automatically schedule and coordinate scavenging for a cluster in a way that minimizes performance impact. |
Monitoring
Feature Name | Description |
---|---|
Provides detailed logs for server operations to console and log files. | |
View or download logs over HTTP for authenticated EventStoreDB users without needing file system access. | |
Collect EventStoreDB metrics such as CPU, memory, disk usage, and the status of projections, subscriptions, elections, etc. | |
Allow systems to scrape metrics in Prometheus format for monitoring over an HTTP endpoint. | |
Export and push metrics to an endpoint via the OpenTelemetry protocol. |
Backup, Replication, and Migration
Feature Name | Description |
---|---|
Backup and Restore | Provide functionality for full or differential backups and restores over disk snapshots or file copy backups. |
Event Store Replicator | Facilitate replication or migration of data between different EventStoreDB clusters or instances. |
Administrative Tool
Feature Name | Description |
---|---|
Command line tool for administrative operations on EventStoreDB such as scavenge, backup, restore, merge index, delete stream, as well as user and projection management. |
Next Steps
: Gain a deeper understanding about other EventStoreDB features.
: Explore how to use these features with EventStoreDB clients.
Event Store Essentials: Developer greater understanding of these features in this in-depth guide.
EventStoreDB From Scratch: Get hands-on and build a basic EventStoreDB application with this training series.
An End-To-End Example With EventStoreDB Watch how to build an application with EventStoreDB