A transição de dados relacionais para eventos
(event-driven.io)Guia para a transição de dados relacionais para eventos
- Na igreja do event sourcing, os dados de negócio são preservados como eventos sem serem perdidos.
- Eventos representam fatos que aconteceram e são armazenados após cada operação.
- Um fluxo de eventos é a lista de todos os eventos registrados, é imutável, e erros do passado podem ser corrigidos adicionando novos eventos.
1. Encontrar colunas de estado
- Os valores das colunas de estado podem refletir as etapas do ciclo de vida dos dados.
- Por exemplo, um pedido pode ser iniciado, enviado e pago.
- Esses estados podem ser convertidos em eventos como Order Initiated, Order Shipped e Order Paid.
2. Verificar colunas de data
- Colunas de data podem fornecer informações sobre acontecimentos importantes do processo.
- ShipmentDate, DeliveryDate, OrderPlacementDate etc. revelam a terminologia de negócio e podem ajudar a introduzir novos eventos.
3. Analisar a seletividade das colunas
- Colunas nullable podem ser opcionais ou preenchidas mais tarde.
- Colunas obrigatórias devem ser fornecidas no primeiro evento Order Initiated.
4. Procurar tabelas com mais relações de 1 para N
- Em event sourcing, busca-se agrupar dados em torno de processos de negócio para um processamento eficiente.
- Tabelas com muitas relações de 1 para N podem ser candidatas a tipos de stream.
5. Introduzir eventos explícitos
- Ao migrar dados relacionais para eventos, eventos recém-descobertos não devem ser reutilizados durante a importação; é preciso fornecer explicitamente um evento Order Imported.
6. Experimentação e validação
- É preciso testar protótipos em um ambiente seguro, comparar os resultados com o esperado e iterar sem pressa.
Opinião do GN⁺
- O ponto mais importante deste texto é a relevância de uma nova abordagem que preserve os dados de negócio no processo de transição de um banco de dados relacional para event sourcing.
- O que torna este texto interessante é que ele propõe uma forma de entender e aproveitar melhor o ciclo de vida dos dados, saindo do modelo tradicional de gestão de dados.
- Event sourcing pode ajudar não apenas do ponto de vista técnico, mas também a construir um entendimento comum entre as equipes de negócio e de tecnologia.
1 comentários
Comentários do Hacker News
Recomendação de usar PostgreSQL e ferramentas de relatórios FOSS
Quando faz sentido usar arquitetura orientada a eventos
Relato de uma experiência cética com event sourcing
A utilidade da modelagem de eventos de domínio
Pergunta sobre a implementação de event sourcing
Bottom-up vs. top-down, customizado vs. genérico
Apoio e crítica à arquitetura baseada em eventos
Event sourcing e a necessidade de relações
Defesa dos dados relacionais
Nova percepção sobre design orientado a eventos