ACID (database transactions)

Concept

データベーストランザクションの基本特性

最終更新: 2026-10-20

5 References

https://www.refbase.ai/entity/acid-transactions

Knowledge Dossier

公開済みEvidenceをIdentity / Capability / Credibility / Use Case / Constraints・Current Statusの軸で機械的に集約したものです(新規の主張・推測は含みません)。

Identity

  • Haerder and Reuterの論文「Principles of Transaction-Oriented Database Recovery」(ACM Computing Surveys、1983年12月)は、トランザクションが持つべき4つの性質として、原子性(all-or-nothing)、一貫性(正常終了時にデータベースの整合性を保つ)、分離性(トランザクション内の出来事を並行トランザクションから隠す)、永続性(コミット後の結果が障害に耐える)を挙げ、これらを合わせてACIDと呼んでいる。同論文は、BjorkとDaviesの「spheres of control」に由来する概念がEswaranらの1976年の研究でデータベース向けに限定され、「トランザクション」と名付けられたとも記している。検証待ち Principles of Transaction-Oriented Database Recovery

Capability

  • SQLiteの公式ドキュメントは、SQLiteがシリアライザブルで、原子的・一貫的・分離的・永続的(atomic, consistent, isolated, durable)なトランザクションを実装し、プログラムのクラッシュ、OSのクラッシュ、電源障害で中断されても変更は完全に反映されるか全く反映されないかのどちらかになると説明している。検証待ち SQLite Is Transactional
  • PostgreSQL公式ドキュメントのチュートリアルは、トランザクションを複数のステップを一つの「all-or-nothing」の操作にまとめるものと説明し、途中で失敗した場合は一切の更新がデータベースに影響しないとする。また、完了を報告する前にすべての更新が永続的なストレージにログ記録され、実行中の更新は完了まで他のトランザクションから見えないと述べている。検証待ち 3.4. Transactions | PostgreSQL Documentation
  • DuckDBの公式サイトは、DuckDBが独自のバルク最適化されたMVCC(多版同時実行制御)により、ACIDプロパティを含むトランザクション保証を提供すると述べている。検証待ち Why DuckDB

Credibility

  • Haerder and Reuterの論文「Principles of Transaction-Oriented Database Recovery」(ACM Computing Surveys、1983年12月)は、トランザクションが持つべき4つの性質として、原子性(all-or-nothing)、一貫性(正常終了時にデータベースの整合性を保つ)、分離性(トランザクション内の出来事を並行トランザクションから隠す)、永続性(コミット後の結果が障害に耐える)を挙げ、これらを合わせてACIDと呼んでいる。同論文は、BjorkとDaviesの「spheres of control」に由来する概念がEswaranらの1976年の研究でデータベース向けに限定され、「トランザクション」と名付けられたとも記している。検証待ち Principles of Transaction-Oriented Database Recovery

Use Case

  • SQLiteの公式ドキュメントは、SQLiteがシリアライザブルで、原子的・一貫的・分離的・永続的(atomic, consistent, isolated, durable)なトランザクションを実装し、プログラムのクラッシュ、OSのクラッシュ、電源障害で中断されても変更は完全に反映されるか全く反映されないかのどちらかになると説明している。検証待ち SQLite Is Transactional
  • PostgreSQL公式ドキュメントは、SQL標準がトランザクションの分離レベルを4段階(Read uncommitted、Read committed、Repeatable read、Serializable)で定義していると記している。PostgreSQLでは4つすべてを指定できるが、内部で実装されている分離レベルは3つで、Read uncommittedはRead committedと同様に動作する。検証待ち 13.2. Transaction Isolation | PostgreSQL Documentation
  • MongoDB公式ドキュメントは、単一ドキュメントへの操作は原子的であり、MongoDBは読み取り・書き込みコンサーン設定に応じて原子性・一貫性・分離性・永続性を提供するACIDトランザクションをサポートすると述べている。複数ドキュメントにまたがる分散トランザクションも使えるが、多くの場合は単一ドキュメント書き込みより性能コストが大きく、適切なスキーマ設計の代替にはならないとされている。検証待ち Transactions - Database Manual - MongoDB Docs

Constraints / Current Status

  • PostgreSQL公式ドキュメントは、SQL標準がトランザクションの分離レベルを4段階(Read uncommitted、Read committed、Repeatable read、Serializable)で定義していると記している。PostgreSQLでは4つすべてを指定できるが、内部で実装されている分離レベルは3つで、Read uncommittedはRead committedと同様に動作する。検証待ち 13.2. Transaction Isolation | PostgreSQL Documentation
  • MongoDB公式ドキュメントは、単一ドキュメントへの操作は原子的であり、MongoDBは読み取り・書き込みコンサーン設定に応じて原子性・一貫性・分離性・永続性を提供するACIDトランザクションをサポートすると述べている。複数ドキュメントにまたがる分散トランザクションも使えるが、多くの場合は単一ドキュメント書き込みより性能コストが大きく、適切なスキーマ設計の代替にはならないとされている。検証待ち Transactions - Database Manual - MongoDB Docs

Key References

Knowledge Graph

References — 問い別の知識

データアクセス

各APIエンドポイントはJSON形式でデータを返します。生成AIのツール呼び出し・RAG連携での利用を想定しています。