未経験からエンジニアになる:データベースの機能コミット・ロールバックを知ろう
未経験からエンジニアになりたい人は、プログラミングから始める人が多いと思いますが、
エンジニアの仕事は、プログラミングだけではありません。そして、プログラミングだけでは、エンジニアになれません。同時にプログラミングが苦手でも、システム構成や開発の流れを理解するとエンジニアに近づきます!
今回はデータベースの機能 コミット・ロールバックについて更に詳しく調べてみましょう!
データベースの機能
コミット・ロールバック機能
一つのトランザクションの処理をすべて行うか、全く行わないかのどちらかにして整合性を保つための機能
コミットとは
データベースを扱う処理では、必ずトランザクション単位でデータを管理する必要があります。
例えば、在庫マスタの在庫数を減算し、受注マスタを追加する場合です。
この二つのマスタへの操作は、一つのトランザクションとして、両方ともが連動する必要があります。
例えば、
1.受注マスタの追加
2.在庫マスタの更新(在庫数減算)がエラーとなった
この時、受注マスタも元の状態に戻さないと(追加を取り消しとする)、整合性が合わなくなってしまいます。
このため、データベースでは、
・コミットにより、トランザクション内の処理を全て確定させる事ができる。
・ロールバックにより、トランザクション内の処理を全て無効させる事ができる。
具体的な処理は
この処理は、
1.更新時、キャッシュ領域にデータを更新する
2.コミット時、トランザクションログへ書き込み、必要に応じて実データ領域に書き込む
実データ領域の書き込みは、定期的なチェックポイント書き込みになる
3.ロールバック時、キャッシュのデータを無効にする
まとめ
ーコミット・ロールバック機能がある
ーコミットはトランザクション確定
ーロールバックはトランザクション無効化
ーこれらによりデータのACIDが保たれる
最後に
未経験の皆さん、若手エンジニアの皆さん、勉強方法について悩みがあればなんでも気軽に質問して下さい!
これからも記事を書いていきますので、モチベーションアップのためフォロー、イイねお願いします。