ACID-Anforderungen in einfacher Sprache

Ich mag die BĂŒcher aus der Head First O`Reilly-Reihe - sie sprechen nur ĂŒber das Schwierige. Und ich versuche das Gleiche zu tun.





Wenn es um Datenbanken geht, können die magischen Wörter "ACID-Anforderungen" auftauchen. In einem Interview oder in einem EntwicklergesprĂ€ch - nicht der Punkt. In diesem Artikel werde ich darĂŒber sprechen, was es ist, wie ACID steht und was jeder Buchstabe bedeutet.





ACID-Anforderungen sind eine Reihe von Anforderungen, die die Sicherheit Ihrer Daten gewĂ€hrleisten. Dies ist besonders wichtig fĂŒr Finanztransaktionen. Wir wollen nicht aufgrund einer getrennten Verbindung oder eines Softwarefehlers kein Geld mehr haben, oder?





Siehe auch:





Was ist eine Transaktion?





Lassen Sie uns jeden ACID-Brief durchgehen und Beispiele dafĂŒr sehen, wie ein Archiv besser ist als 10 verschiedene Dateien. Und warum eine Transaktion besser ist als 10 separate Anfragen.





  1. AtomizitÀt - AtomizitÀt





  2. Konsistenz - Konsistenz





  3. Isolation - Isolation





  4. Haltbarkeit - Haltbarkeit





AtomizitÀt - AtomizitÀt

Atomicity stellt sicher, dass jede Transaktion vollstĂ€ndig oder gar nicht ausgefĂŒhrt wird. ZwischenzustĂ€nde sind nicht erlaubt.





Ein Freund ist in Schwierigkeiten bekannt, und eine Datenbank befasst sich mit Fehlern. Oh, wenn nur alles immer gut und fehlerfrei wÀre! Dann wÀren keine SÀuren erforderlich. Sobald jedoch ein Fehler auftritt, wird die AtomizitÀt sehr wichtig.





Angenommen, Sie beschließen, Ihrer Mutter Geld zu schicken. Was passiert, wenn Sie eine Überweisung innerhalb einer Bank vornehmen:





  1. Ihr Geld wurde belastet





  2. Mama wurde zugelassen





Nehmen wir an, wir haben zwei separate Anfragen. Nun wollen wir sehen, was passiert, wenn Fehler auftreten:





1.  —  , , .





2.      , — . . ... !





. ... , .





, . ? . , , « » « »!





, . ! =)





, . « ». 10 , —  , .





 





Consistency —

, (EOT — end of transaction, ) , , , . , © wikipedia





. , , . : « , ». ( — ).





, :

















  • —  ,





  • —





:





  • client





  • phone





  • address





«», 3 :





insert into client
 --     - 

insert into phone


insert into address

      
      



3 , , 3 .





, , , — . , , « », . , , .





. -, . , « » —  , :





  • phone





  • client





, . « », , foreign key.





constraint. , « ». :





1.  100, 10





2.   — « , X – 100».





3.  , ! constraint, , .





4.  .





, , . forein , - — . , — . -.





, , - , . , - :





— , , ?





— -, ?





, .





Isolation —

.





, . ? — . , - : « , 100 , ». ? !





. ?





1 : " "





, 500 ..





1 (1 ) 300 .. . 300, 200 = 500 - 300.





2 (2) , 300 .., 1 . , 500, 500 + 300 = 800.





— " " , = 800, 500. " - ". .





2 : " "





, 500 ..





1 300 .. . 300. - 500 ..





2 (2) , 1 .





— , / ..





3 : " "





.





1 . . , (, ).





, - .





2 .





1 . .





- .





4 : ""





.





1 . . , (, ).





, - .





2 / .





1 . .





— .





3- 4- , , — /. .





? . , — .





—  . , . , .





:





  • () — 





  • — ,





  • Transaction Isolation Levels in DBMS — ,





— . , . , , , .





 





 





Durability —

, , , - - . , ? .





:





ACID





, ACID, CAP — geekbrains





ACID NoSQL — 





Nun, ich möchte Sie an den Link zum Artikel " Was ist eine Transaktion? " Erinnern .





PS - Weitere hilfreiche Artikel finden Sie  in meinem Blog unter dem Tag "nĂŒtzlich" . Und nĂŒtzliche Videos sind auf  meinem Youtube-Kanal








All Articles