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.