event-store-design

Design append-only event stores with ordering, concurrency, and subscription strategies.

41|5|Updated Sep 30, 2025
One-click install
npx skills add https://github.com/efekrbas/discord-hypesquad-manager --skill event-store-design-efekrbas
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: event-store-design
Source: https://github.com/efekrbas/discord-hypesquad-manager/tree/main/.agents/skills/event-store-design
Command: npx skills add https://github.com/efekrbas/discord-hypesquad-manager --skill event-store-design-efekrbas

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill helps you design event stores that preserve immutable history, support reliable replay, and prevent concurrency bugs in event-sourced systems.

Core Features & Use Cases

  • Architecture Planning: Define stream strategy, ordering guarantees, and storage models for append-only event persistence.
  • Implementation Guidance: Choose between technologies such as PostgreSQL, EventStoreDB, Kafka, or DynamoDB based on query patterns and throughput needs.
  • Operational Safety: Add optimistic concurrency, idempotent writes, checkpoints, and snapshotting to keep subscriptions and projections dependable.
  • Use Case: When building a new order-management platform, use this Skill to decide how events are stored, read back, and replayed without corrupting historical data.

Quick Start

Use this Skill to design an event store for your system by describing your workload, storage constraints, ordering needs, and subscription requirements.

Frequently Asked Questions about event-store-design

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I design an append-only event store with PostgreSQL for event sourcing?

An event store in PostgreSQL requires a schema enforcing stream ordering and global ordering for append-only writes. You apply optimistic concurrency and checkpointed subscriptions to maintain projection consistency and reliable replay.

What is the best way to handle optimistic concurrency and idempotent writes in an event store?

Handling optimistic concurrency in an event store requires enforcing stream ordering during append operations to reject duplicate events. This ensures idempotent writes, preventing concurrency bugs and keeping historical data immutable during subscription replay.

How do I manage checkpointed subscriptions for event store projections?

Managing checkpointed subscriptions involves tracking the global ordering position of processed events to rebuild projections reliably. This guarantees that replay operations resume correctly without data loss or duplicate processing in your event-sourced system.

When should I use EventStoreDB vs Kafka for an append-only event sourcing architecture?

Choosing between EventStoreDB and Kafka for event sourcing depends on your query patterns and throughput needs. EventStoreDB offers targeted stream ordering, while Kafka provides high-throughput global ordering for append-only event persistence and subscription handling.

Can I build an event-sourced system using DynamoDB for the event store?

You can use DynamoDB to build an event store by structuring tables for append-only writes and stream ordering. This requires implementing optimistic concurrency and checkpointed subscriptions manually to ensure reliable replay and consistent projections.

Why do my event store subscriptions miss events during projection replay?

Event store subscriptions miss events during projection replay when checkpointing and global ordering guarantees are absent. Implementing idempotent writes and checkpointed subscriptions ensures reliable replay and prevents concurrency bugs in your event-sourced system.