A database management system (DBMS) is software for creating and managing databases.
A DBMS enables end users to create, protect, read, update, and delete data in a database. It also manages security, data integrity, and concurrency for databases.
What do these principles mean4?
Atomicity
It guarantees that all the commands that make up a transaction are treated as a single unit and either succeed or fail together. This is important in the event of a system failure or power outage, in that if a transaction isn’t completely processed, it will be discarded, and the database will maintain its data integrity.
Consistency
It guarantees that changes made within a transaction are populated across the database system (e.g., nodes) and are in alignment with DBMS constraints. If data consistency is going to be negatively impacted by a transaction in an inconsistent state, the entire transaction will fail.
Isolation
Each transaction is isolated from the other transactions to prevent data conflicts. This also helps database operations with managing multiple entries and multi-level transactions.
For example, if two users are trying to modify the same data (or even the same transaction), the DBMS uses a mechanism called a lock manager to suspend other users until the changes being made by the first user are complete.
Durability
Guarantees that once the transaction completes and changes are written to the database, they are persisted. This ensures that data within the system will persist even in the case of system failures like crashes or power outages.
The concept of durability is a key element in data reliability.