ACID特性とBASE特性とは?

今回は、トランザクション管理におけるACID特性とBASE特性について解説します。

トランザクションとは

データベース管理システムは、複数人のユーザが同時人データベースにアクセスしても矛盾が起こらないようにする必要があります。そのための仕組みをトランザクション管理といいます。
トランザクションは、トランザクション管理を行うためのSQL処理の最小単位のことを指します。

ACID特性とは?

トランザクション処理は、原子性、一貫性、独立性、永続性の4つの特性を備えている必要があります。それぞれの英単語の頭文字をとって、これらはACID特性と呼ばれます。

原子性(Atomicity)

更新処理トランザクションが正常に終了した場合にのみデータベースへの反映を保証し、異常終了しら場合は処理をしなかった状態に戻すこと。

一貫性(Consistency)

トランザクションの処理によってデータベース内のデータに矛盾が生じないこと。つまり、整合性常に保たれていること。

独立性(Isolation)

複数のトランザクションを同時に実行した場合と、順番に実行した場合の結果が一致すること。つまり、あるトランザクション処理が他の処理などに影響を与えない性質のこと。

永続性(Durability)

正常終了したトランザクション処理の結果は、障害が発生した場合でもデータベースから消失しない性質のこと。

BASE特性とは?

BASE特性とは、ACID特性の条件を緩めた性質のことを指します。クラウドやビッグデータ処理においては、BASE特性を備えている必要があります。

利用可能(Basically Available)

基本的にいつでも利用することが可能であるという性質。

ソフト状態(Soft-State)

常に一貫性を保っている必要はないという性質。

結果整合性(Eventual consistency)

ACID特性のように、原子性を持って一貫性を保証しなくとも、結果的に一貫性が保証できていればいいという性質。

まとめ

トランザクション処理を行うには、ACID特性を備えている必要があります。
BASE特性とは、ACID特性の条件を緩めた性質のことを指します。

この記事が気に入ったらサポートをしてみませんか?