Computer Science Homework Help
SNHU Transaction Processing ACID Principle & Westlake Research Hospital Discussion
In 1981, Jim Grey introduced the ACID principle, which states that database management systems must ensure atomicity, consistency, isolation, and durability (particularly as it relates to transaction processing). This principle has guided the design of database management systems and support for transaction processing for decades. More recently, some database systems (particularly systems that are not based on the relational model and do not use SQL) have instead emphasized BASE (basically available, soft state, eventually consistent). The module resources provide you with the two seminal articles on these principles. In addition to reading these two papers, do some additional research on the ACID and BASE principles. Discuss how each principle applies to the scenario you are using for your final project. What advantages or disadvantages do you foresee when trying to apply the principles to the scenario? Which principle is more relevant and why?
When responding to your peers, discuss whether you agree or disagree with their responses. Use specific examples to support your thinking.
Peer Review #1
Darris Palmer posted
Discuss how each principle applies to the scenario you are using for your final project.
ACID Model to WildWood Apts:
Atomicity – Each transaction is either properly carried out or the process halts and the database reverts back to the state before the transaction started. This ensures the db’s validity.
Consistency – Transactions don’t compromise the integrity of the db
Isolation – Each transaction is its own
Durability – The db can stand on it’s own even during disaster recovery
BASE Model to WildWood Apts:
Bascially Available – The db is always available and will render a response
Soft state – The state of the db can possibly change over time
Eventually consistent – Allows for stale data, and as the name implies will eventually become consistent
What advantages or disadvantages do you foresee when trying to apply the principles to the scenario?
The main advantage as well as disadvantage to me between both would be cost. ACID requires much more maintenance whereas BASE is essentially a base model of a database to house data in order for retrieval.
Which principle is more relevant and why?
ACID is more relevant in my eyes in that we always want to preserve the integrity of any kind of data we have the responsibility for. Whether its SimpleDB or SQL server the customer as well as the engineers need to treat data collection and the analysis of it with the highest regard. Not only for general purpose, but to mitigate any potential data loss as the smallest piece of information can lead to grave complications.
Peer review #2
Lubanzadio Moura posted
ACID and BASE are the two major database consistency models and very often are pitted against each other for the title of the best database model. However, neither model is a perfect fit, and both have disadvantages and advantages.
The ACID model focuses on providing consistency to ensure data is safe and consistently stored. Since it is part of the relational databases, it has been the norm for database developers for ages. The BASE model focuses on providing availability while sacrificing consistency of replicated data at write time. The data will be consistent in the future, either at read time or it will always be consistent but only for certain processed past snapshots (Sasaki, 2018).
In my Wild Wood Apartment database project, I’m using an ACID database, the Microsoft SQL Server, as I need data consistency throughout the application. Imagine the mess that would create – a rent payment being in a transition state of the BASE model; the tenant would be accessed with a late fee even so he may have paid on time. Another issue would be with reporting. Data on the reports cannot be inconsistent or changing by the minute. The ACID model is advisable if the application/business needs strict data consistency like medical records and financial transactions, such is the case of my project. And the BASE model can be used on unstructured data with the data scope not really bounded and with less need for data consistency, like a Twitter app or other chat application that users can use a cloud version of the app. In this case, the app requirement for availability are greater than data consistency.