• Ensure Data never falls into an inconsistent state because of an Transaction that only partially completes
  • Guarantees that a READ will return the latest successful WRITE


  • Costly
  • Difficult to scale



  • A quality that ensures each Transaction is fully committed or not at all
  • It treats each Transaction as a single unit of change to Database and can’t be partially completed
  • Transaction is either committed or rolled back


  • A quality that ensures the Database is in a consistent and valid state after a Transaction is committed
  • It prevents the Database from being corrupted


  • Ensures that Transaction are independent
  • Each Transaction can occur as though they were occurring one by one, even though they’re actually occurring simultaneously
  • Ensures that data is managed between database operations so it is not used in Transaction simultaneously. Instead, the first transaction will complete, and then the next will begin


  • Permanently preserves all Transaction by saving to permanent storage, not kept in volatile memory
  • Ensures changes to data made by successfully executed Transaction will be saved, even in the event of system failure (like power loss)