Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Domain-Driven Design
  3. eventstore

eventstore

MITElixirv1.4.8

An Elixir event store with PostgreSQL persistence, supporting clustering, subscriptions, and ACID compliance.

GitHubGitHub
1.2k stars155 forks0 contributors

What is eventstore?

EventStore is an event sourcing library implemented in Elixir that uses PostgreSQL for persistent storage. It provides a way to append, read, and subscribe to events in streams, enabling developers to build event-driven applications with strong data integrity guarantees. It solves the problem of reliably storing and retrieving event sequences in a scalable, ACID-compliant manner.

Target Audience

Elixir developers building event-driven systems, microservices, or applications following CQRS and event sourcing patterns who need a reliable, PostgreSQL-backed event store.

Value Proposition

Developers choose EventStore for its simplicity, reliance on PostgreSQL's proven reliability, and native Elixir integration. It offers clustering support, persistent subscriptions, and comprehensive tooling for production use, making it a robust open-source alternative to commercial event stores.

Overview

Event store using PostgreSQL for persistence

Use Cases

Best For

  • Building event-driven microservices in Elixir
  • Implementing CQRS and event sourcing patterns with PostgreSQL
  • Creating audit logs or activity feeds that require strong consistency
  • Developing systems that need real-time event subscriptions
  • Scaling event storage across a cluster of nodes
  • Applications requiring ACID-compliant event persistence

Not Ideal For

  • Polyglot microservices architectures using multiple programming languages
  • Systems requiring ultra-low latency event ingestion (e.g., high-frequency trading)
  • Environments without PostgreSQL or unwilling to manage database infrastructure
  • Simple event logging or messaging where full event sourcing is unnecessary overhead

Pros & Cons

Pros

PostgreSQL Reliability

Builds on PostgreSQL's ACID compliance and transactional guarantees, ensuring data integrity and correctness for event storage, as highlighted in the production use section.

Comprehensive Subscription Model

Supports both transient and persistent subscriptions with acknowledgment mechanisms, enabling real-time event processing and reliable delivery, detailed in the Subscriptions guide.

Built-in Benchmarking Suite

Includes performance benchmarks to measure throughput for concurrent reads, writes, and subscriptions, helping users assess the impact of changes, as shown in the benchmarking output examples.

Clustering for High Availability

Can run on a cluster of nodes for scalability and fault tolerance, with a dedicated guide for cluster setup, making it suitable for distributed applications.

Cons

PostgreSQL Dependency Lock-in

Tightly coupled to PostgreSQL as the sole storage engine, limiting flexibility for teams using other databases or cloud-native storage solutions.

Elixir-Only Implementation

Implemented in Elixir and reliant on the BEAM VM, making it unsuitable for non-Elixir projects without complex interop or bridging layers.

Serialization Performance Overhead

Default JSON serialization can slow performance; optimal throughput requires Erlang's external term format, which ties data to the Erlang ecosystem and complicates cross-platform use.

Frequently Asked Questions

Quick Stats

Stars1,152
Forks155
Contributors0
Open Issues18
Last commit1 month ago
CreatedSince 2016

Tags

#database#elixir#cqrs#event-store#event-sourcing#cqrs-es#commanded#postgresql#microservices#subscriptions#acid-compliance#eventstore#clustering

Built With

P
PostgreSQL
E
Elixir

Included in

Elixir13.1kDomain-Driven Design12.2k
Auto-fetched 10 hours ago

Related Projects

ectoecto

A toolkit for data mapping and language integrated query.

Stars6,464
Forks1,477
Last commit18 days ago
commandedcommanded

Use Commanded to build Elixir CQRS/ES applications

Stars2,014
Forks257
Last commit5 days ago
postgrexpostgrex

PostgreSQL driver for Elixir

Stars1,212
Forks303
Last commit3 days ago
redixredix

Fast, pipelined, resilient Redis driver for Elixir. 🛍

Stars1,138
Forks124
Last commit1 day ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub