トランザクション|IT用語解説

IT用語解説アイキャッチ_ トランザクション IT用語解説

トランザクションとは?

トランザクションとは、データベース上で行われる一連の操作を「ひとまとまりの処理単位として扱い、すべて成功するか、すべて失敗して元に戻すかのどちらかで完結させる仕組みです。

たとえば、銀行の送金処理では

「口座Aから引き落とす」「口座Bに振り込む」

という複数の操作が、片方だけ成功してもう片方が失敗すると問題になるため、トランザクションとしてまとめて扱います。


ACID特性とは?

データベーストランザクションは、以下の ACID という4つの性質を満たすことが求められます。

性質内容
Atomicity(原子性)全部の処理が完了するか、まったく実行されないかのどちらかという「不可分なまとまり」である性質です。
Consistency(一貫性)トランザクション実行後も規則(制約)に合った整合性のある状態を保ちます。
Isolation(独立性)トランザクション処理中の変更は、コミットされるまで他の処理から見えないようにする性質です。
Durability(永続性)一度コミットされた変更は、システム障害が発生しても消えず保存され続ける保証です。

トランザクションのライフサイクル

トランザクションは一般に以下の手順で処理されます。

  1. Begin(開始)
  2. Execute(操作の実行)
  3. Commit(正常完了・保存)
  4. Rollback(異常時に中止し元に戻す)

日常例でわかるトランザクション

例えば、オンラインバンキングでの送金処理:

  • 口座Aからお金を引き落とす
  • 口座Bにお金を振り込む

この2つが両方きちんと完了しなければ、トランザクションとしては失敗扱いとなり、処理全体が取り消されます。


トランザクションはどんな場面で使われる?

トランザクションは、特に「一部だけ成功して中途半端になると困る」処理に必要です。

たとえば:

  • 銀行や決済システム
  • オンラインショッピングの在庫引き落としと注文記録
  • 予約システム(航空券やホテル)
  • 医療や物流などの業務システム など

トランザクションと「クエリ」の違い

  • クエリ:データの取得や更新など、単一のSQL操作
  • トランザクション:複数のクエリを束ねて「まとめて成功 or 失敗」にする処理単位

トランザクションがないとどうなる?

トランザクション処理を使わない場合、部分的に処理が成功し、データの不整合が発生しやすくなります。

たとえば、送金処理の途中でエラーが起こって、引き落としだけが実行されてしまう…など。後々の調査や修復が大変になります。


応用:分散トランザクションや長期トランザクション

複数のDBやマイクロサービスをまたいで処理を行う場合、分散トランザクション(two-phase commit 等)を使用して整合性を確保します。

また、ユーザーの操作をまたぐような長時間かかる処理を 長期トランザクション として扱う設計もあります。


まとめ

トランザクションは、データベースの信頼性と整合性を守るための「すべてか無か」の仕組み

ACID特性を満たすことでデータ破壊や不整合を防ぎ、安心・安全なデータ処理を可能にします。

初心者でもまずは「複数の処理をまとめて扱って、失敗したら戻せばいいんだな」と理解することが第一歩です。

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