SE基本情報に出るIT用語

コミットとは?DBのトランザクション処理を確定すること

どうも!ひよこSE(@PiyoOct)です。

コミットって何?

データベースにおけるコミットとは、「ゲームを始めてやめる前にセーブして電源を切る」のように、トランザクション(まとまった処理)を確定した上で終了させることです。

コミットをしないでトランザクションを終了してしまう(セーブをせずに電源を切る)と、トランザクションを開始する前(ゲームを始める前)の状態のデータに戻ってしまいます。

※なお、政治におけるコミットは、「CO2を5%減らす」的な「将来の約束事」です。

スポンサーリンク

コミットとは、DBのトランザクション処理を確定すること

コミットとは、DBのトランザクション処理を確定することです。

その前に

について簡単に説明するので、知ってるよという人は飛ばしてください(-_-;)。

DB(データベース)とはデータを入れる入れ物

DB(データベース)とはデータを入れる入れ物のこと。

データベースとはデータを入れる入れ物のこと

社員番号なら、社員番号というデータをDBに保存する的なイメージです。

トランザクションとは1つのまとまった処理

トランザクションは、1つのまとまった処理のことです。

ゲームするときに例えるのがたぶんイメージしやすくて

  • 電源をつける
  • プレイする
  • 電源を切る

というまとまった処理のことで「処理を分けることはできない」(電源を付けただけじゃゲームしたことにならない)みたいに考えるのがいいかと。

トランザクションとはまとまった処理

DBの世界で言えば、SQLを使うなりしてデータを入れ替えする一連の処理が、トランザクションですね。

コミットでは、トランザクションを確定したうえで終了させる

コミットでは、トランザクションを確定したうえで終了させます。

つまりは、ゲームを始めて、終了する前にデータをセーブするイメージ。

コミットとはトランザクションを確定

今のゲームはほとんど、オートセーブがついているからわかりづらいかもですが、セーブせずに電源切ったら、データは保存されないですよね(*´ω`)。

それまで、何時間プレイしていようとも、電源をつける前の状態に戻ります。

DBの世界でも全く同じです。

トランザクション、つまりはデータを入れ替えする作業を始めたら、「入れ替え終わったよ~」と言って、データを確定してあげる必要があります。

コミットをしたら、トランザクションは確定された状態で終了します。

スポンサーリンク

逆にキャンセルするならロールバック

逆に、もし「データを入れ替え終わったけど間違えたから取り消したい」となったらロールバックです。

ゲームで言えば、リセット(ドラクエのカジノでよくやるよね)のことです。

ロールバックをしたら、トランザクションは開始する前の状態に戻ったうえで終了(何もなかったことになって終了)します。

コミットをせずにトランザクションを終了しても、ふつうはロールバックと同じ動きをしますが、データベースによって仕様は、まちまちです。元に戻したい場合は、ハッキリとロールバックを宣言するべきだし、していないプログラムは本番データを書き換えてしまう可能性ありです。

まとめ

コミットときたら、「トランザクションを確定させること」だと思ってください。

何かまとまった処理のトランザクションを開始して、問題なければ、コミットをしてトランザクション(データの入れ替え)を確定して終了します。

逆にコミットをせずにトランザクションを終了したら、何もしなかったのと同じになると思ってくださいまし(-_-;)。

スポンサーリンク

▼この記事がいいと思ったら、下の画像をクリックしてくれたら励みになります!

にほんブログ村 IT技術ブログ システムエンジニアへ

コメント

タイトルとURLをコピーしました