La transición de los datos relacionales a los eventos
(event-driven.io)Guía para pasar de datos relacionales a eventos
- En la iglesia del event sourcing, los datos del negocio se preservan como eventos sin perderse.
- Los eventos representan hechos que ocurrieron y se guardan después de cada operación.
- Un stream de eventos es la lista de todos los eventos registrados; es inmutable y los errores del pasado pueden corregirse agregando nuevos eventos.
1. Encontrar columnas de estado
- Los valores de las columnas de estado pueden reflejar las etapas del ciclo de vida de los datos.
- Por ejemplo, un pedido puede iniciarse, enviarse y pagarse.
- Estos estados pueden convertirse en eventos como Order Initiated, Order Shipped y Order Paid.
2. Revisar columnas de fecha
- Las columnas de fecha pueden brindar información sobre eventos importantes del proceso.
- ShipmentDate, DeliveryDate, OrderPlacementDate, etc., revelan la terminología del negocio y pueden ayudar a introducir nuevos eventos.
3. Analizar la selectividad de las columnas
- Las columnas nullable pueden proporcionarse más adelante o ser opcionales.
- Las columnas obligatorias deben proporcionarse en el primer evento Order Initiated.
4. Buscar las tablas con más relaciones de uno a muchos
- En event sourcing, se busca un procesamiento eficiente agrupando los datos alrededor de los procesos de negocio.
- Las tablas con muchas relaciones de uno a muchos pueden ser candidatas a tipos de stream.
5. Introducir eventos explícitos
- Al migrar datos relacionales a eventos, los eventos recién descubiertos no deben reutilizarse durante la importación; se debe proporcionar explícitamente un evento Order Imported.
6. Experimentar y validar
- Hay que probar prototipos en un entorno seguro, comparar los resultados con lo esperado y repetir sin apresurarse.
Opinión de GN⁺
- Lo más importante de este texto es la relevancia de un nuevo enfoque que preserve los datos del negocio durante la transición de una base de datos relacional hacia event sourcing.
- Este artículo resulta interesante porque propone una forma de salir del manejo tradicional de datos y entender mejor, además de aprovechar, el ciclo de vida de los datos.
- Event sourcing puede ayudar no solo desde una perspectiva técnica, sino también a construir una comprensión compartida entre los equipos de negocio y tecnología.
1 comentarios
Opiniones de Hacker News
Recomendación de usar PostgreSQL y herramientas de reporting FOSS
Cuándo conviene usar arquitectura orientada a eventos
Experiencia escéptica compartida sobre event sourcing
Utilidad del modelado de eventos de dominio
Preguntas sobre la implementación de event sourcing
Bottom-up vs. top-down, personalizado vs. genérico
Apoyo y crítica a la arquitectura basada en eventos
Event sourcing y la necesidad de relaciones
Apoyo a los datos relacionales
Nueva percepción sobre el diseño orientado a eventos