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.
Each transaction must be treated as an atomic unit. That is, either ALL of its tasks are executed and committed or NONE.
The database must remain in a consistent state after any transaction.
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.
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: