平易な言語のACID要件

私はHeadFirstO`Reillyシリーズの本が好きです-彼らはただ難しいことについて話しているだけです。そして、私は同じことをしようとします。





データベースに関しては、「ACID要件」という魔法の言葉が出てくる可能性があります。インタビューや開発者の会話で-要点ではありません。この記事では、それが何であるか、ACIDがどのように表されるか、および各文字が何を意味するかについて説明します。





ACID要件は、データの安全性を確保するための一連の要件です。これは、金融取引にとって特に重要です。接続が切断されたり、ソフトウェアのバグが原因でお金が不足したくないのではないでしょうか。





参照:





トランザクションとは





各ACIDレターを調べて、アーカイブが10個の異なるファイルよりも優れている例を見てみましょう。そして、なぜトランザクションが10の個別のリクエストよりも優れているのか。





  1. アトミシティ-アトミシティ





  2. 一貫性-一貫性





  3. 分離-分離





  4. 耐久性-耐久性





アトミシティ-アトミシティ

Atomicityは、すべてのトランザクションが完全に実行されるか、まったく実行されないことを保証します。中間状態は許可されていません。





友人が問題を抱えていることがわかっており、データベースがエラーを処理しています。ああ、すべてが常に良かったし、間違いがなかったら!その場合、ACIDは必要ありません。しかし、エラーが発生するとすぐに、原子性が非常に重要になります。





あなたがあなたのお母さんにお金を送ることに決めたとしましょう。銀行内で送金すると、次のようになります。





  1. あなたのお金は借方に記入されました





  2. ママは認められた





そして、2つの別々のリクエストがあるとしましょう。次に、エラーが発生したときに何が起こるかを見てみましょう。





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 — 





さて、「トランザクションとはという記事へのリンクを思い出させてください





PS- 「役に立つ」というタグの下で私のブログでもっと役立つ記事を探してください そして、便利なビデオは 私のユーチューブチャンネルにあります








All Articles