# Overview A database transaction is a way for an application to group several reads and writes together in a logical unit. The transaction is executed as a single operation, which means all the grouped reads and writes succeed or fail together. This is one of the principles of a database being considered [[ACID]]. # Key Considerations The actual implementation of transaction within a database relies on what level of [[Isolation]] the database provides. ## Distributed Transaction A database transaction that needs to go to multiple nodes to complete the transaction. This adds complication for maintaining atomicity, since each node cannot individually commit the various parts of the transaction. A [[Two-phase Commit (2PC)]] is used to address this complication, or a [[Three-phase Commit (3PC)]]. # Implementation Details # Useful Links # Related Topics ## Reference #### Working Notes #### Sources #### Topics to Cover - Read Committed - Repeatable Read - Serializable #### Related Topics - [[Deadlocks]]