반응형
DB 트랜잭션(Transaction)은 데이터베이스에서 한 논리적인 작업 단위를 나타냅니다. 이 작업 단위는 하나 이상의 SQL 명령어로 구성되며, 데이터베이스에서 일관성을 유지하기 위해 원자성(Atomicity), 일관성(Consistency), 고립성(Isolation), 지속성(Durability)이라는 ACID 속성을 따릅니다. 이러한 특성들은 데이터베이스 트랜잭션의 안전하고 신뢰할 수 있는 실행을 보장합니다.
원자성(Atomicity)
- 트랜잭션은 원자적이어야 합니다. 즉, 트랜잭션 내의 모든 작업은 성공하거나 실패하며, 실패 시에는 트랜잭션 전체가 롤백되어 이전 상태로 돌아가야 합니다.
일관성(Consistency)
- 트랜잭션이 실행 전과 실행 후에 데이터베이스는 일관된 상태여야 합니다. 즉, 트랜잭션이 완료된 후에도 데이터베이스는 일관성 있는 상태를 유지해야 합니다.
고립성(Isolation)
- 동시에 여러 트랜잭션이 실행 중일 때, 각 트랜잭션은 다른 트랜잭션의 작업에 영향을 받지 않아야 합니다. 고립성은 여러 트랜잭션이 동시에 실행될 때 각 트랜잭션이 다른 트랜잭션의 연산을 볼 수 있는 정도를 나타냅니다.
지속성(Durability)
- 트랜잭션이 성공적으로 완료되면 그 결과는 영구적으로 저장되어야 합니다. 시스템 장애나 기타 문제로 인해 발생하는 데이터 손실을 방지하기 위해 트랜잭션의 결과가 지속되어야 합니다.
트랜잭션은 주로 데이터베이스의 상태를 변경하기 위해 여러 개의 SQL 명령어를 묶어 사용하며, 애플리케이션에서 데이터 일관성을 유지하는 데 중요한 역할을 합니다. 특히, 여러 사용자가 동시에 데이터베이스에 접근하고 데이터를 조작하는 경우, 트랜잭션은 데이터의 무결성을 보장하고 정확성을 유지하는 데 도움이 됩니다.
반응형
'개발 > 신입개발자 기술면접' 카테고리의 다른 글
POC (Proof of Concept)란 무엇인가? (0) | 2024.12.17 |
---|---|
[신입개발자 기술면접] MVC 패턴 (0) | 2024.02.19 |
[신입개발자 기술면접] Interface 와 Abstract 공통/차이점 (1) | 2024.02.07 |
[신입개발자 기술면접] Overloading과 Overriding 차이 (1) | 2024.01.30 |
[신입개발자 기술 면접] Primary Key 와 Unique Key의 차이점 (0) | 2024.01.19 |