Salute e malattia

Doppia gestione nei database: cause, conseguenze e strategie prevenzione

La doppia gestione avviene quando una singola entità dati è aggiornata attraverso multiple sequenze logiche non coordinate, risultando in inconsistenza, duplicazione, o corruzione. È una minaccia pervasiva integrità dati in ambienti multi-sistema.

Scenari classici

  • Aggiornamenti cross-dipartimentali: HR aggiorna stipendio dipendente; Payroll indipendentemente aggiorna qualifica – nessuno vede cambiamento altro, creando mismatch.
  • Elaborazione multi-sistema: Vendite e Contabilità processano stesso ordine indipendentemente, generando fatture duplicate o deduzioni inventario doppie.
  • Overlap pipeline ETL: Multiple job extract-transform-load modificano stesse tabelle warehouse senza coordinazione.

Framework prevenzione

  • Single Source of Truth: Definire un singolo percorso autoritativo aggiornamento per entità.
  • Confini transazione: Usare transazioni ACID o pattern saga per aggiornamenti distribuiti.
  • Idempotenza e deduplicazione: Progettare operazioni per essere ritentate sicuramente; implementare vincoli unici e logica deduplicazione.
  • Change Data Capture (CDC): Propagare cambiamenti da sistema sorgente invece di permettere scritture parallele.
  • Data Governance: Chiara ownership, SLA, audit trail per tutti flussi dati critici.

Architettare per singole sequenze aggiornamento logico è molto più economico che ripulire artefatti doppia gestione.