In Software Engineering, it is a software methodology consisting of set of properties to ensure there is guarantee during processing(committing) of the database transactions is reliable as planned to maintain integrity and security. A transaction by definition is a single logic unit of operation on data, that is, database which involves one or more SQL queries to be executed. In java, JTA API also involves the employment of ACID philosophy to ensure integrity of transactions for business applications. Deployments that ACID is also employed is in software testing for QA (Quality Assurance) and also software security to make an IDS (Intrusion Detection System).
This supposes that the transaction being committed (sent to the database to be stored) if any part of its SQL queries fails the whole of it is compromised and is considered as a failure or all of its parts successful to be considered complete and successful. The transaction is said to constitutes very small (atomic) indivisible operations, that is, SQL queries that make up a transaction.
The operations must be valid according the rules or standards specified which are predefined to be followed which ensures the data committed is consistent as specified.
By providing isolation we can have concurrency on the happening of transactions, that is, the database operations happen or occur at the same time without interference from other operations.
The data being stored in the database is permanently stored and can be recovered in case of any power shortages, or system failures.