# Event Store Design > Diseña e implementa event stores para sistemas de event sourcing: infraestructura, elección de tecnología y patrones de persistencia de eventos. Fuente: https://skillsagentes.com/skills/wshobson/agents/event-store-design Markdown: https://skillsagentes.com/skills/wshobson/agents/event-store-design.md Repositorio: https://github.com/wshobson/agents Autor: wshobson Licencia: MIT Actualizado: hace 4 meses Coste de contexto: 47 tok instalada, 1k tok al activarse, 3.9k tok con todos los archivos del bundle Bundle: 2 archivos, 15 KB Permisos que pide: ninguno declarado ## Instalación Un skill son archivos markdown: los mismos archivos valen para cualquier agente y lo único que cambia es el directorio de destino, es decir la bandera `--agent`. Añade `-g` para instalarlo en todos los proyectos de la máquina. ```bash # Claude Code npx -y skills add wshobson/agents --skill event-store-design --agent claude-code # Cursor npx -y skills add wshobson/agents --skill event-store-design --agent cursor # Codex npx -y skills add wshobson/agents --skill event-store-design --agent codex # Gemini CLI npx -y skills add wshobson/agents --skill event-store-design --agent gemini # Windsurf npx -y skills add wshobson/agents --skill event-store-design --agent windsurf # Cline npx -y skills add wshobson/agents --skill event-store-design --agent cline ``` ## Qué hace - Guía el diseño de arquitecturas de event store para sistemas basados en event sourcing - Compara tecnologías como EventStoreDB, PostgreSQL, Kafka, DynamoDB y Marten - Define requisitos clave: append-only, ordenación, versionado, suscripciones e idempotencia - Aporta buenas prácticas sobre stream IDs, correlation/causation IDs y evolución de esquemas ## Cuándo usarla - Al diseñar infraestructura de event sourcing - Al elegir entre distintas tecnologías de event store - Al implementar un event store propio - Al optimizar el almacenamiento y la recuperación de eventos, o planificar su escalado ## Qué la activa - "Ayúdame a diseñar el esquema de un event store para mi sistema" - "¿Qué tecnología de event store me conviene, EventStoreDB o PostgreSQL?" - "Necesito implementar concurrencia optimista en mi event store" ## Antes de instalar - Para plantillas y ejemplos detallados, consultar el archivo references/details.md. ## Archivos - SKILL.md — 4 KB - references/details.md — 11 KB ## SKILL.md Reproducido tal cual desde wshobson/agents bajo MIT. Esta sección es el documento original y está en inglés. # Event Store Design Comprehensive guide to designing event stores for event-sourced applications. ## When to Use This Skill - Designing event sourcing infrastructure - Choosing between event store technologies - Implementing custom event stores - Optimizing event storage and retrieval - Setting up event store schemas - Planning for event store scaling ## Core Concepts ### 1. Event Store Architecture ``` ┌─────────────────────────────────────────────────────┐ │ Event Store │ ├─────────────────────────────────────────────────────┤ │ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │ │ │ Stream 1 │ │ Stream 2 │ │ Stream 3 │ │ │ │ (Aggregate) │ │ (Aggregate) │ │ (Aggregate) │ │ │ ├─────────────┤ ├─────────────┤ ├─────────────┤ │ │ │ Event 1 │ │ Event 1 │ │ Event 1 │ │ │ │ Event 2 │ │ Event 2 │ │ Event 2 │ │ │ │ Event 3 │ │ ... │ │ Event 3 │ │ │ │ ... │ │ │ │ Event 4 │ │ │ └─────────────┘ └─────────────┘ └─────────────┘ │ ├─────────────────────────────────────────────────────┤ │ Global Position: 1 → 2 → 3 → 4 → 5 → 6 → ... │ └─────────────────────────────────────────────────────┘ ``` ### 2. Event Store Requirements | Requirement | Description | | ----------------- | ---------------------------------- | | **Append-only** | Events are immutable, only appends | | **Ordered** | Per-stream and global ordering | | **Versioned** | Optimistic concurrency control | | **Subscriptions** | Real-time event notifications | | **Idempotent** | Handle duplicate writes safely | ## Technology Comparison | Technology | Best For | Limitations | | ---------------- | ------------------------- | -------------------------------- | | **EventStoreDB** | Pure event sourcing | Single-purpose | | **PostgreSQL** | Existing Postgres stack | Manual implementation | | **Kafka** | High-throughput streaming | Not ideal for per-stream queries | | **DynamoDB** | Serverless, AWS-native | Query limitations | | **Marten** | .NET ecosystems | .NET specific | ## Templates and detailed worked examples Full template library and detailed worked examples live in `references/details.md`. Read that file when you need the concrete templates. ## Best Practices ### Do's - **Use stream IDs that include aggregate type** - `Order-{uuid}` - **Include correlation/causation IDs** - For tracing - **Version events from day one** - Plan for schema evolution - **Implement idempotency** - Use event IDs for deduplication - **Index appropriately** - For your query patterns ### Don'ts - **Don't update or delete events** - They're immutable facts - **Don't store large payloads** - Keep events small - **Don't skip optimistic concurrency** - Prevents data corruption - **Don't ignore backpressure** - Handle slow consumers ## Dónde encaja - Categoría: [Bases de datos](https://skillsagentes.com/categorias/bases-de-datos.md) — Diseño de esquemas, migraciones y optimización de consultas. - Creador: [wshobson](https://skillsagentes.com/creators/wshobson.md) — 183 skills en el directorio - [Todas las skills](https://skillsagentes.com/skills.md) - [Ranking de instalaciones](https://skillsagentes.com/ranking.md) ## Skills relacionadas - [Vector Index Tuning](https://skillsagentes.com/skills/wshobson/agents/vector-index-tuning.md): Optimiza el rendimiento de índices vectoriales en latencia, recall y memoria; útil al ajustar parámetros HNSW, elegir cuantización o escalar infraestructura de búsqueda vectorial. - [Projection Patterns](https://skillsagentes.com/skills/wshobson/agents/projection-patterns.md): Construye modelos de lectura y proyecciones a partir de flujos de eventos; útil para CQRS, vistas materializadas y optimización de consultas en sistemas event-sourced. - [Database Migration](https://skillsagentes.com/skills/wshobson/agents/database-migration.md): Ejecuta migraciones de bases de datos entre ORMs y plataformas con estrategias zero-downtime, transformación de datos y procedimientos de rollback. - [Eval Harness First](https://skillsagentes.com/skills/wshobson/agents/eval-harness-first.md): Construye el eval harness que condiciona cada fine-tuning: golden sets, graders por modo de fallo, calibración de juez y baselines del modelo base. - [Review Agent Setup](https://skillsagentes.com/skills/wshobson/agents/review-agent-setup.md): Configura un gating humano para las acciones de revisión de agentes IA en Claude Code, con un rastro de aprobación auditable criptográficamente y gates aplicados con Cedar. --- Skills Agentes · [Índice de páginas en markdown](https://skillsagentes.com/sitemap.md) · [Inicio](https://skillsagentes.com/index.md)