Come mostrare se un database è ACID o BASE?

2

Mi chiedevo se ci sono guide o standard generali che possono essere seguiti quando si tenta di mostrare se la propria implementazione del database è ACID o BASE conforme?

Per esempio ci sono test specifici che posso eseguire?

    
posta Filipe Teixeira 10.08.2016 - 17:02
fonte

1 risposta

3

La progettazione di un database ACID è significativamente diversa da quella di un database BASE. ACID ti dà assicurazioni che una transazione sarà completa. La distribuzione di un database ACID aggiunge una notevole complessità. BASE e altri database non ACID sono più semplici da costruire e testare.

Concetti da testare (scegliere in base alla progettazione ACID / BASE):

  • È possibile vedere parte di una modifica della transazione? (Dipende dal livello di isolamento.)
  • Le modifiche vengono visualizzate in ordine?
  • La vista del database è coerente con il livello di isolamento effettivo? (Il livello di isolamento effettivo potrebbe non essere il livello richiesto.)
  • La transazione impegnata sopravvive a un riavvio?
  • Le transazioni impegnate sopravvivono a un arresto anomalo del database?
  • È possibile eseguire il rollback di una transazione?
  • I dati appropriati vengono restituiti dopo un rollback?
  • Le transazioni non salvate sopravvivono a un arresto anomalo del database o al riavvio? (Fail case)
  • Un record con una modifica senza commit può essere aggiornato da una transazione anoouter?
  • Le modifiche in conflitto sono gestite in modo appropriato?
  • I risultati appropriati sono le modifiche non sono state convertite?
  • Cosa succede se un'istanza di un'istanza di database distribuita viene arrestata (arresto anomalo o richiesta)?
  • Cosa succede quando un'istanza di database distribuita si ricongiunge al cluster?
  • Cosa succede se un'istanza di database distribuita non si ricongiunge mai al cluster?

Le tue aspettative sono per questi concetti guideranno il tipo di database che crei.

    
risposta data 11.08.2016 - 00:50
fonte

Leggi altre domande sui tag