0% found this document useful (0 votes)
39 views9 pages

Module 9 - Transactions & ACID Properties

Transactions allow multiple database operations to be executed together as a single unit, ensuring data integrity and consistency even in the event of failures. The ACID properties ensure that transactions are atomic, consistent, isolated, and durable. Transactions provide an "all-or-nothing" approach where either all operations are committed or rolled back if any failure occurs. This helps maintain data consistency across concurrent operations. Good data modeling can help reduce transaction requirements by avoiding redundant data.

Uploaded by

jaydave422
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
39 views9 pages

Module 9 - Transactions & ACID Properties

Transactions allow multiple database operations to be executed together as a single unit, ensuring data integrity and consistency even in the event of failures. The ACID properties ensure that transactions are atomic, consistent, isolated, and durable. Transactions provide an "all-or-nothing" approach where either all operations are committed or rolled back if any failure occurs. This helps maintain data consistency across concurrent operations. Good data modeling can help reduce transaction requirements by avoiding redundant data.

Uploaded by

jaydave422
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 9

Module 9

Transactions & ACID properties


Transactions & ACID
Objective:

1. What are transactions and why are they needed?


2. Understanding ACID properties
Why are transactions needed?
1. Failures that cause inconsistency
2. Concurrency that causes loss of isolation
Moving from one valid state to another
1. Consistency even if failures happen
a. Suppose data is being read, written, read, written and suddenly there is a system failure (say machine powers
off), actions may remain incomplete with an invalid status
b. Eg: An e-commerce order is being placed. While processing the order (calculating price, applying offers)
something goes wrong and only half the items are marked as ordered. What should happen?
c. Ideally, the entire order should ‘rollback’
cart-id product-id is-ordered cart-id product-id is-ordered order-id product-id

c1 p20 false c1 p20 true o1 p20

c1 p21 false c1 p21 true o1 p21

c1 p22 false c1 p22 true o1 p22

✔ ✔

cart-id product-id is-ordered

c1 p20 true order-id product-id

c1 p21 false o1 p21

c1 p22 true
Isolation during concurrent usage
1. Isolation during concurrent usage
a. User1 reads a value (say a bank balance) and then writes an updated value which is +1000 of the old value
b. However, while user1 was reading, user2 also read the value and was adding +1000 to the old value
c. Now, the final result will be whichever write is last!

1000
read
1000 1000
read
+1000
1000
2000 write
2000 +1000

write 2000
2000

USER1 Database USER2


What are transactions?
1. Database transactions provide an ‘all-or-nothing’ feature
2. Transaction:
a. BEGIN TRANSACTION
b. SELECT
c. INSERT
d. UPDATE
e. SELECT
f. DELETE
g. END TRANSACTION
3. Any failure in the middle, and each operation is rolled-back (like an undo)
4. During the time a transaction happens, no change in the values to the same rows will be
allowed
5. Transactions are extremely valuable for financial or transactional applications
Good data modelling reduces transactions
requirements
1. Eg:
a. User table has user_id, username, group_id
b. Group table has group_id, group_name, users (as an array)
c. If a membership is updated, both tables should be updated transactionally
d. However, by making sure that there is no redundant data and using a foreign-key constraint we can perform a
single SQL statement and avoid a transaction
ACID properties
Database transactions exhibit the following properties:

1. Atomicity: Operations are all-or-nothing.


2. Consistency: The entirely of the database (constraints, indexes etc.) moves from one consistent
state to another. It is never left in an inconsistent state.
3. Isolation: Concurrent transactions happen as if they had happened without other transactions
existing. As if they had happened in a perfect sequence one after another.
4. Durability: Transactions should be committed so that once a transaction is marked as completed by
the database, it remains done whether there is a system failure or a power failure etc.
Key takeaways
1. Transactions are extremely valuable DBMS features especially for certain kinds of applications
2. Transactions can slow overall operations down because the database can’t allow multiple
operations to execute perfectly simultaneously
3. Good modelling can help prevent the excessive use of transactions
4. Transactions in a DBMS should have ACID properties to achieve high levels of data integrity

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy