見出し画像

データベースの機能・排他制御を知ろう!

未経験からエンジニアになりたい人は、プログラミングから始める人が多いと思いますが、
エンジニアの仕事は、プログラミングだけではありません。そして、プログラミングだけでは、エンジニアになれません。同時にプログラミングが苦手でも、システム構成や開発の流れを理解するとエンジニアに近づきます!
今回はデータベースの機能 排他制御について更に詳しく調べてみましょう!

排他制御とは

複数の処理が並行で実行されて同時に同じデータにアクセスされる場合に、

データの整合性を保つために、データの読み書きを一時的に制限する機能です。

排他制御がないと



並列でAとBが動くと在庫数が正しく反映されない事になってしまう。

排他制御があると



AがロックをかけるとBはロックが解除されるまで待たされる。
これによりデータの整合性が保たれる。

ロックをかけるには

データを取得する時にロックを宣言する
Select * from 在庫テーブル where id = “A01”
for update

id = “A01”のデータをロックかける事ができる
commit か rollbackでロックが解除される

まとめ

ー排他制御でデータの整合性が保たれる

ー並行処理の時に排他制御が有効となる

ーロックによりデータが排他制御される

ーselect * for update でロックされる

最後に

未経験の皆さん、若手エンジニアの皆さん、勉強方法について悩みがあればなんでも気軽に質問して下さい!
これからも記事を書いていきますので、モチベーションアップのためフォロー、イイねお願いします。

いいなと思ったら応援しよう!