This week we focused on the importance of maintaining the ACID properties of databases.
Before understanding what these processes entail, one must understand that a database management system’s (DBMS) transactions are comprised of a group of tasks and that a task is the minimum processing unit that cannot be further broken down.
ACID
A: Atomicity
Each transaction must be treated as an atomic unit. That is, either ALL of its tasks are executed and committed or NONE.
C: Consistency
The database must remain in a consistent state after any transaction.
I: Isolation
Concurrent transactions (e.g. in the case of multiple users accessing the database at once) should be executed as if they are the ONLY transaction in the system. Transactions should not affect one another.
D: Durabilty
The database should maintain its latest updates even if the system fails/restarts. The system should hold commits or finish updating data once the system comes back online.
I feel pretty good about solving these past two assignments. They were challenging, but doable and enjoyable. On a lighter note, here is a picture of me drawn by one of my high school computer science students: