EventStoreDB Feature List
About 5 min
EventStoreDB Feature List
Core Features
Event-Native Database
Feature Name | Description |
---|---|
Append-only Log | A log where events are only appended and never modified, serving as an immutable audit trail that captures all historical changes within a system. |
Immutable Event | 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. |
Guaranteed Consistent Event Ordering | 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 |
Stream Indexing | Events in streams are indexed to provide fast access to groups of events in the event log. |
Fine Grained Stream | EventStore supports billions of streams, allowing granular event organization to efficiently track the lifecycle of every distinct entity within a system. |
Optimistic Concurrency Control | 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 Event Store Cloud or self-managed on Linux, Windows, macOS, or with Docker |
Projection
Feature Name | Description |
---|---|
By Category System Projection | Quickly retrieve indexed events from streams that share the same category. |
By Event Type System Projection | Quickly retrieve indexed events that share the same event type. |
By Correlation ID System Projection | Quickly retrieve indexed events with the same correlation ID, enabling data lineage and root cause analysis. |
User-Defined Projection | Allows users to define custom projections in javascript to transform or filter events to another stream or a state programatically. |
Subscription
Feature Name | Description |
---|---|
Catch-up Subscription | Self-managed subscription of filteredĀ events by stream or event type from a particular position or in real-time as events occur. |
Persistent Subscription | Server-managed subscription that supports multiple competing consumers, checkpointing, retries, and parking (i.e.,Ā dead-lettering) |
Connector
Feature Name | Description |
---|---|
Connector | v24.10 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. |
HTTP Sink | v24.10 Publishes events from EventStoreDB to an HTTP endpoint. |
Kafka Sink | v24.10License Required Publishes events from EventStoreDB to Kafka topic or partition using a key found in the events. Supports broker acknowledgment and basic authentication. |
RabbitMQ Sink | v24.10License Required Publishes events from EventStoreDB to a RabbitMQ exchange. Supports broker acknowledgment and basic authentication over a secured connection. |
MongoDB Sink | v24.10License Required Publishes events from EventStoreDB to a MongoDB collection or document. Supports basic authentication. |
Clustering
Feature Name | Description |
---|---|
High Availability Cluster | 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. |
Read-only Replica | 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 |
---|---|
EventStoreDB Client | 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 |
HTTP API | Offers simple and basic RESTful administration of EventStoreDB. |
TCP API | Deprecated 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 |
---|---|
Admin UI | The web-based EventStoreDB user interface that manages events, streams, server configurations, monitoring, etc. |
Event Store Navigator | Preview The next-generation EventStoreDB user interface built as a native desktop application. |
Security
Authentication
Feature Name | Description |
---|---|
User name/Password Authentication | Authenticate users based on credentials provided. |
OAuth Authentication | License Required Connect to an identity server and authenticate users based on JWT |
LDAP Authentication | License Required Authenticate users against LDAP-based directory services. |
User X.509 Certificates | v24.10License Required Support user-based X.509 certificates for authentication. |
Authorization
Feature Name | Description |
---|---|
User Management | Create, update, and assign users to pre-defined user groups. |
Stream Access Control List | Define which users or groups can read, write, or delete on a stream level. |
Stream Access Policy | v24.10License Required Define access policies to control who can read, write, or delete streams for multiple streams using stream rules. |
Encryption
Feature Name | Description |
---|---|
Encryption at rest | v24.10License Required Secure events stored on disk using file-level encryption. |
Encryption in transit | Use TLS to secure data during network transmission. |
Event Store Certificate Generation Tool | The command line interface that eases the generation of a certificate authority and node certificates for encryption in transit. |
FIPS 140-2 | License Required Compliance with FIPS 140-2 standards for cryptographic modules. |
Operations
Configuration
Feature Name | Description |
---|---|
Multiple Configuration Options | Configure EventStoreDB through YAML, environment variables, or the command line |
Data Cleanup and Housekeeping
Feature Name | Description |
---|---|
Stream Truncate and Deletion | Truncate streams by max age, max count, or before a particular position or delete an entire stream. |
Scavenging | Manually reclaim disk space for compliance or storage purposes by completely removing truncated and deleted streams from disk. |
Auto-scavenging | v24.10License Required Automatically schedule and coordinate scavenging for a cluster in a way that minimizes performance impact. |
Monitoring
Feature Name | Description |
---|---|
Logging | Provides detailed logs for server operations to console and log files. |
Logs Endpoint | v24.10 View or download logs over HTTP for authenticated EventStoreDB users without needing file system access. |
Metrics | Collect EventStoreDB metrics such as CPU, memory, disk usage, and the status of projections, subscriptions, elections, etc. |
Metrics with Prometheus | Allow systems to scrape metrics in Prometheus format for monitoring over an HTTP endpoint. |
Metrics with OpenTelemetry Exporter | v24.10License Required 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 |
---|---|
Event Store CLI | 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
EventStoreDB Server Documentation: Gain a deeper understanding about other EventStoreDB features.
EventStoreDB Client Documentation: 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