Science >> Wetenschap >  >> Chemie

Wat wordt bedoeld met atomiciteit uitleggen met twee voorbeelden?

Atomicity:All or Nothing

Atomiciteit in de context van databases en transacties verwijst naar het concept van een bewerking die ondeelbaar is . Een transactie wordt als atomisch beschouwd als ofwel allemaal De bewerkingen zijn met succes voltooid, of geen van hen zijn. Het is als een chemische reactie:de hele reactie gebeurt of er gebeurt helemaal niets.

Hier zijn twee voorbeelden om te illustreren:

Voorbeeld 1:bankoverdracht

Stel je voor dat je $ 100 van je betaalrekening overdrekt naar je spaarrekening. Deze transactie omvat twee bewerkingen:

1. Debet: $ 100 afleiden van uw betaalrekening.

2. Credit: $ 100 toevoegen aan uw spaarrekening.

Atomische transactie: Als het systeem atomiciteit garandeert, gebeuren beide bewerkingen met succes, of geen van beide doet dat wel. Als de debetbewerking is voltooid, maar de kredietbewerking mislukt (bijvoorbeeld vanwege een systeemfout) zou het geld niet verloren gaan. Het zou op uw betaalrekening blijven.

Niet-atomaire transactie: Als atomiciteit niet gegarandeerd is, kan het geld van uw betaalrekening verdwijnen zonder ooit uw spaarrekening te bereiken, wat leidt tot een inconsistentie in het systeem.

Voorbeeld 2:online winkelwagentje

Overweeg om een ​​product te kopen bij een online winkel. Uw transactie kan deze bewerkingen inhouden:

1. Inventaris aftrekken: Verminder de beschikbare voorraad van het item dat u hebt gekocht.

2. Laad uw kaart op: Verwerk de betaling van uw creditcard.

3. Update bestelstatus: Markeer de bestelling als "geplaatst".

Atomische transactie: Als de transactie atomair is, gebeuren alle drie de bewerkingen met succes, of geen van hen. Als de inventaris wordt afgetrokken maar de kaartbetaling mislukt, zou de bestelling niet worden geplaatst en zou de inventaris worden hersteld.

Niet-atomaire transactie: Zonder atomiciteit kan de inventaris worden afgetrokken, maar de betaling kan niet worden verwerkt. Dit zou leiden tot een inconsistentie:u zou in rekening worden gebracht voor het item, maar het zou niet naar u worden verzonden.

In wezen zorgt atomiciteit ervoor dat transacties betrouwbaar en consistent zijn. Het voorkomt gegevenscorruptie en zorgt ervoor dat de database in een geldige status blijft, zelfs in het licht van onverwachte gebeurtenissen of fouten.