ACID特性(トランザクション4要件)
データベーストランザクションの信頼性を保証する4つの特性。原子性(Atomicity)・一貫性(Consistency)・独立性(Isolation)・永続性(Durability)の頭文字をとった概念。
ACID特性とは?
ACID特性は、データベーストランザクションの信頼性を保証する4つの特性の頭文字をとった概念です。銀行の送金処理など、データの整合性が絶対的に重要なシステムで必須の要件です。
4つの特性
A: Atomicity(原子性)
トランザクションは「全て成功」か「全て失敗」のどちらかにしかならない。
送金処理(AからBへ1000円)の例:
- 「Aの口座から1000円引く」
- 「Bの口座に1000円足す」 の2処理がセットで実行される。途中で失敗したら両方取り消す(ロールバック)。
C: Consistency(一貫性)
トランザクション前後でデータが定義された整合性制約を満たす。 例:残高が負にならない制約を満たし続ける。
I: Isolation(独立性・隔離性)
並行する複数のトランザクションが互いに干渉しない。 例:2人が同時に残高を確認・更新しても正しい結果になる。
D: Durability(永続性)
コミットされたデータはシステム障害が起きても失われない。 例:電源が落ちても、コミット済みの送金記録は保持される。
ACID vs BASE
| 特性 | ACID | BASE(NoSQL系) |
|---|---|---|
| 整合性 | 強い整合性 | 結果整合性 |
| 可用性 | 低め | 高い |
| スケール | 垂直スケール | 水平スケール |
まとめ
ACID特性はRDBの中核概念です。金融・医療・EC決済などデータ整合性が最優先のシステムでは必須。スケールを優先するWebサービスのキャッシュ層等ではBASEモデルのNoSQLが選ばれます。
関連する用語 (データベース)
全23件を見るPostgreSQL(ポストグレSQL)
オープンソースのリレーショナルデータベース。ACID準拠・豊富な機能・強力なSQL拡張・JSONサポートを持ち、企業向けから個人プロジェクトまで幅広く使われる高信頼性DBMSの代表格。
データベースインデックス(索引)
データベースの検索速度を向上させるためのデータ構造。B木・ハッシュ・全文検索等の種類があり、適切なインデックス設計はクエリパフォーマンスを劇的に改善する。
ORM(オブジェクト関係マッピング)
プログラミング言語のオブジェクトとデータベースのテーブルを対応付け、SQLを書かずにDBを操作できるようにするライブラリ。Prisma・TypeORM・Sequelize等が代表的。
IT用語: MongoDBとは|JSONライクなドキュメント型NoSQLデータベース
スキーマレスなJSONドキュメントを格納するMongoDBの仕組み・集計パイプライン・RDBとの使い分けを解説。
IT用語: データベースレプリケーションとは|読み取り分散と冗長化の仕組み
プライマリDBの変更をレプリカに同期するレプリケーションの仕組み・同期/非同期の違い・活用パターンを解説。
IT用語: データベーストランザクションとは|ACID特性で保証するデータ整合性
DBの一連の操作をまとめて原子的に扱うトランザクションのACID特性(原子性・一貫性・独立性・持続性)を解説。