이 강의에서는 관계형 데이터베이스와 비관계형 데이터베이스의 차이점과 각 유형의 특징을 간단히 설명합니다.
Atomicity (원자성):
트랜잭션이 "모두 실행되거나 아무것도 실행되지 않는" 것을 보장합니다. 트랜잭션의 일부만 실행되는 일이 없으며, 실패 시에는 처음 상태로 되돌아갑니다.
예: 은행 계좌 이체에서 돈이 한 계좌에서 빠져나갔다면, 반드시 다른 계좌에 입금이 되어야 합니다. 어느 한쪽만 실행되는 경우는 없어야 합니다.
Consistency (일관성):
트랜잭션이 완료된 후 데이터베이스가 일관된 상태를 유지하도록 보장합니다. 트랜잭션 전과 후에 데이터는 항상 정의된 규칙에 따라 유효해야 합니다.
예: 은행 시스템에서 이체 중 데이터 무결성 규칙(총 잔액 유지 등)이 깨지지 않도록 보장합니다.
Isolation (격리성):
동시에 여러 트랜잭션이 실행될 때, 서로 간섭하지 않도록 보장합니다. 한 트랜잭션이 완료될 때까지 다른 트랜잭션이 그 결과에 영향을 받지 않습니다.
예: 두 사람이 동시에 동일한 은행 계좌에서 출금하는 경우, 각 트랜잭션은 독립적으로 처리되어야 합니다.
Durability (지속성):
트랜잭션이 완료되면, 시스템 오류나 장애가 발생하더라도 그 결과가 영구적으로 저장되어야 한다는 것을 의미합니다.
예: 트랜잭션이 성공적으로 끝나고 데이터베이스에 기록된 후에는 시스템 장애가 발생해도 데이터가 손실되지 않도록 보장해야 합니다.