트랜잭션은 데이터베이스에서 하나 이상의 작업을 수행하는 논리적인 작업 단위를 의미합니다. 이러한 작업은 원자성(Atomicity), 일관성(Consistency), 고립성(Isolation), 지속성(Durability)의 네 가지 특성을 보장합니다.
- 원자성(Atomicity): 트랜잭션 내의 모든 작업은 전부 성공하거나 전부 실패해야 합니다. 즉, 모든 작업이 완료되어야 트랜잭션이 성공적으로 완료됩니다. 어느 하나라도 실패할 경우 이전의 작업들은 롤백되어야 합니다.
- 일관성(Consistency): 트랜잭션이 수행된 후에도 데이터베이스는 일관된 상태를 유지해야 합니다. 즉, 트랜잭션 이전과 이후에도 데이터베이스는 무결성 제약 조건을 준수해야 합니다.
- 고립성(Isolation): 하나의 트랜잭션이 실행 중일 때 다른 트랜잭션에 의해 영향을 받지 않아야 합니다. 즉, 각 트랜잭션은 서로 간섭 없이 실행되어야 합니다.
- 지속성(Durability): 트랜잭션이 성공적으로 완료되면 그 결과는 영구적으로 저장되어야 합니다. 시스템이 장애가 발생하더라도 데이터는 보존되어야 합니다.
이러한 특성들은 데이터베이스 시스템에서 데이터의 무결성과 일관성을 보장하기 위해 중요합니다. 따라서 트랜잭션은 데이터베이스의 핵심 개념 중 하나이며, 데이터베이스 관리 시스템(DBMS)에서 지원됩니다. 자바의 경우, 스프링 프레임워크와 같은 프레임워크를 통해 트랜잭션 관리가 이루어집니다.
'면접준비' 카테고리의 다른 글
오버라이딩과 오버로딩 (0) | 2024.02.06 |
---|---|
세션 기반 인증과 토큰 기반 인증의 차이에 대해 설명해주세요. (0) | 2024.01.29 |
AWS S3, EC2를 사용하는 이유와 사용 경험에 대해서 답변해주세요. (0) | 2024.01.29 |
Array, LinkedList에 대해 설명해주시고 각각 어떻게 사용하는지 말씀해주세요. (1) | 2024.01.26 |
테스트코드에 대해서 아는대로 설명해주시고 활용 경험에 대해서 답변해주세요. (0) | 2024.01.26 |