B L O G

  1. TOP
  2. BLOG
  3. はじめてのSQL【初心者編:ACID特性について】
プログラミング
2024.06.07

はじめてのSQL【初心者編:ACID特性について】

こんにちは。

スタッフブログ担当の岩でございます。

前回の記事でトランザクションのACID特性について少し説明いたしました。

はじめてのSQL【初心者編:トランザクションについて】

今回の記事ではACID特性について詳しく説明いたします。

ACID特性とは

ACID特性とはトランザクションが持つべき重要な4つの特性です。

  • 原子性(Atomicity)
  • 一貫性(Consistency)
  • 独立性(Isolation)
  • 永続性(Durability)

これらがどのような特性を示しているのか、順番に説明いたします。

原子性(Atomicity)

こちらは前回の記事で例を出して説明いたしました。

トランザクション(原子性:Atomicity)

1つのトランザクションとしてまとめられた処理が全て成功した場合「成功」、どれか1つでも失敗した場合「失敗」とすることを保証します。

一貫性(Consistency)

一貫性とは、トランザクションによってデータの矛盾が生まれないこと、また、常にデータの整合性が保たれていることを保証します。

例えば、8桁の口座番号を管理するデータベースがあったとします。

そこに9桁の口座番号を登録しようとすると、トランザクションは失敗となります。

このように間違ったデータ登録を失敗させて、正しいデータのみにすることで常にデータの整合性が保たれます。

独立性(Isolation)

独立性とは、同時に複数のトランザクションが実行されても、相互に干渉しないことです。

例えば、以下の2つのトランザクションがあったとします。

  • A口座から10万円B口座に送金する
  • C口座から10万円B口座に送金する

このトランザクションが同時に行われた際に、どちらかのトランザクションしか処理されなかったりすると困っちゃいますね。

トランザクションが同時に実行されても、ちゃんとB口座に合計20万円が送金されないといけません。

このように、トランザクション同士はお互いに干渉しないことを保証します。

永続性(Durability)

永続性とは、一度トランザクションが成功し確定した結果を保持し続けることです。

例えば、A口座から10万円B口座に送金した後に、システム障害が発生したとします。

障害が発生したとしても、「A口座から10万円B口座に送金した」という結果は変わりません。

このように実行され確定したトランザクションの結果をいつまでも保持することを保証します。

まとめ

ACID特性を採用することで大切なデータを守ることができます。

とても重要なことなので、SQLの学習と一緒に学んでください。

最後まで読んでくださりありがとうございました。

次回はSELECT文の基本について説明いたします。

どうぞよろしくお願いいたします。