IT用語: データベーストランザクションとは|ACID特性で保証するデータ整合性
DBの一連の操作をまとめて原子的に扱うトランザクションのACID特性(原子性・一貫性・独立性・持続性)を解説。
データベーストランザクションとは
トランザクションは、「銀行口座Aから1万円を引き出し、口座Bに入金する」のような、論理的に1つのまとまりとして扱うべき複数のDB操作を指します。途中でエラーが発生した場合、一連の操作をすべて取り消し(ロールバック)、すべて成功した場合のみ確定(コミット)します。
ACID特性
| 特性 | 意味 |
|---|---|
| Atomicity(原子性) | すべて成功するか、すべて取り消すかのどちらか |
| Consistency(一貫性) | 制約・ルールを満たす整合した状態が維持される |
| Isolation(独立性) | 並行トランザクション同士が互いに影響しない |
| Durability(持続性) | コミットされたデータは障害後も失われない |
分離レベル
Isolation(独立性)の強さは4段階あります。強いほど整合性が高く、弱いほどパフォーマンスが高い。
| 分離レベル | ダーティリード | ファジーリード | ファントムリード |
|---|---|---|---|
| READ UNCOMMITTED | あり | あり | あり |
| READ COMMITTED | なし | あり | あり |
| REPEATABLE READ | なし | なし | あり |
| SERIALIZABLE | なし | なし | なし |
デッドロック
2つのトランザクションが互いに相手のロック解放を待ち続ける状態。DBMSが自動検出し、一方を強制ロールバックします。アプリ側では同じ順序でテーブルをロックする設計が予防策になります。
関連する用語 (データベース)
全23件を見るIT用語: データベース正規化とは|データの重複をなくすテーブル設計の基本
第1〜第3正規形(1NF・2NF・3NF)を使いデータの冗長性を排除するデータベース正規化の手順を解説。
PostgreSQL(ポストグレSQL)
オープンソースのリレーショナルデータベース。ACID準拠・豊富な機能・強力なSQL拡張・JSONサポートを持ち、企業向けから個人プロジェクトまで幅広く使われる高信頼性DBMSの代表格。
IT用語: データベースレプリケーションとは|読み取り分散と冗長化の仕組み
プライマリDBの変更をレプリカに同期するレプリケーションの仕組み・同期/非同期の違い・活用パターンを解説。
Redis(リモートディクショナリサーバー)
インメモリ型のキーバリューストア。超高速な読み書きを実現し、キャッシュ・セッション管理・リアルタイム処理に広く使われるOSSデータベース。
レプリケーション(データベース複製)
データベースのデータを複数のサーバーに自動的にコピーする仕組み。読み取り負荷の分散・障害時のフェイルオーバー・バックアップ目的で使われる。プライマリ/レプリカ構成が一般的。
IT用語: ORM(オブジェクトリレーショナルマッパー)とは|SQLを書かずにDBを操作
プログラミング言語のオブジェクトとDBのテーブルを対応付けるORMの仕組みとN+1問題を解説。