transaction 2

[Interview Question] 트랜잭션의 ACID 특성을 설명해보세요.

데이터베이스에서 하나의 논리적 작업 단위를 트랜잭션이라고 합니다.이 트랜잭션이 안전하게 동작하기 위해 보장해야 하는 성질을 ACID라고 합니다. 1. Atomicity(원자성)트랜잭션은 모두 수행되거나 전혀 수행되지 않아야 합니다. 중간단계에서 오류가 발생하면 지금까지 수행된 작업들이 모두 취소(ROLLBACK)되고 이전 상태로 되돌아 가야 합니다. 2. Consistency(일관성)트랜잭션 실행 전과 실행 후에 데이터베이스는 일관된 상태를 유지해야 합니다.제약 조건, 규칙 등 을 항상 만족해야 합니다.(Unique, pk, fk 등) 3. Isolation(격리성)동시에 여러 트랜잭션이 실행되더라도 작업끼리 서로 간섭하지 않아야 합니다. 4. Durability(지속성)트랜잭션이 성공적으로 commit..

Interview Question 2025.09.02

[Interview Question] 교착상태에 대해서 설명하고, 각 교착상태를 해결하는 방법에 대해서 설명해보세요.

교착상태, 즉 DeadLock은 두 개 이상의 프로세스가 서로 가진 자원을 기다리며 무한 대기에 빠지는 현상을 말합니다. 교착상태가 발생하려면 4가지 조건이 모두 충족되어야 하는데1. 상호배제, 2. 점유대기, 3. 비선점, 4. 원형대기 입니다.1. 상호배제는 자원을 동시에 하나의 프로세스만 사용할 수 있다.2. 점유대기는 프로세스가 이미 자원을 점유한 상태이기 때문에, 다른 자원을 기다리고 있다.3. 비선점은 상대방이 점유중인 자원을 강제로 회수 할 수 없다.4. 원형대기는 프로세스들이 원 형태로 서로 자원을 기다리는 상태이다. 이 4가지 조건을 동시에 만족했을 때만 deadlock상태가 발생합니다. 교착상태 해결방법으로는1. 자원을 공유가능하도록 설정합니다. 하지만 현실적으로 동기화 문제에 의해 어..

Interview Question 2025.08.29