データベースの機能のトランザクション管理ののACIDについて
未経験からエンジニアになりたい人は、プログラミングから始める人が多いと思いますが、
エンジニアの仕事は、プログラミングだけではありません。そして、プログラミングだけでは、エンジニアになれません。同時にプログラミングが苦手でも、システム構成や開発の流れを理解するとエンジニアに近づきます!
今回はデータベースの機能 トランザクション管理のACIDについて更に詳しく調べてみましょう!
データベースの機能
一番大事なのがトランザクション管理
ある処理単位でデータベースの内容の整合性を保証する。
これはACID特性と言います
ACID特性とは
A Atomicity (原子性)
すべてが完全に実行されるか、処理が完結しない場合には元の状態に戻る
具体的には:
トランザクション管理で2つのテーブルを更新した時に、コミットすると全ての更新が保証される。ロールバックすると全ての更新はもとに戻ります
C Consistency (一貫性)
処理の順番に関わらず結果が同じになる
具体的には:
2つのテーブルを更新した時にAから更新してもBから更新しても同じ結果が保証されます。
口座金額を減算して加算しても、加算して減算しても同じ結果になります。
I Isolation (独立性)
他のトランザクションの影響を受けない
具体的には:
二人のユーザーから更新処理がかかった時に互いに影響を与えない仕組みになってます。
従って、在庫数を減らす時は、Aの処理がコミットするまで、Bの処理から見た在庫数は前のままです。これを排他制御と呼びます
D Durability (耐久性)
いったんトランザクションが完結したら障害が発生してもデータの状態が変化しない
具体的には:
一度、コミットかロールバックが発行された後、ディスクに書き込む前に障害が発生してもログからデータを復旧させる、データを保証されます。
ACID特性
まとめ
ー大事なのがトランザクション管理
ーACID特性をもつ
ーA Atomicity (原子性)
ーC Consistency (一貫性)
ーI Isolation (独立性)
ーD Durability (耐久性)
最後に
未経験の皆さん、若手エンジニアの皆さん、勉強方法について悩みがあればなんでも気軽に質問して下さい!
これからも記事を書いていきますので、モチベーションアップのためフォロー、イイねお願いします。