トランザクションとACID特性の基礎とは?とらんざくしょんとあしっどとくせいのきそ
トランザクションとACID特性の基礎とは、一連の処理を、途中の状態を外へ見せない不可分な単位として扱う仕組み。原子性・一貫性・独立性・耐久性(ACID特性)を満たすことが求められ、確定はコミット、取消しはロールバックで行う。組込みでもDBMSを持たないまま、不揮発メモリへの設定保存やファームウェア更新で同じ性質を自前で作り込むことになる。
最終更新:2026-10-06
エンベデッドSPを最短で暗記・合格する →背景
更新の途中で電源が落ちる、あるいは別の処理が割り込む——この2つがあると、書きかけの中間状態が残り、次に読んだ側がそれを正しい値として扱ってしまう。データベースはこれを汎用の仕組みとして解いたもので、ログを先に書いてから本体を更新し、コミットの記録が無ければ起動時に巻き戻す。組込みでは同じ問題がEEPROMへの設定保存やA/B面のファームウェア更新という形で現れる。DBMSが無いだけで、原子性と耐久性を設計者が自分で保証しなければならない点は変わらない。
具体例
Zephyr Projectの不揮発ストレージNVSは、設定をフラッシュへ追記していき、各エントリにIDと検査値を付ける。書き込みの途中で電源が落ちても検査値の合わないエントリは無効として読み飛ばされ、直前の確定値が生き残る。データベースのコミットに当たる役割を、最後に書かれる検査値が担っている。
試験での引っ掛け
4つの頭文字の対応を取り違えやすい。「全部やるか全部やらないか」が原子性(Atomicity)、「途中経過が他から見えない」のが独立性(Isolation)、「コミットした結果は障害が起きても失われない」のが耐久性(Durability)、「実行の前後で矛盾のない状態が保たれる」のが一貫性(Consistency)で、特に原子性と一貫性が入れ替えて出題される。組込み固有の落とし穴として、書き込みAPIが戻ってもデバイス内部のバッファに残っていれば耐久性は成立していない——同期の完了までがコミット。
関連用語
出典・参考
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。