데이터베이스를 공부하는 사람들은 정말 지겹도록 들어본 단어가 있을 것이다. 트랜잭션이 그 주인공이다.
이 트랜잭션은 데이터베이스에서 너무나도 중요한 요소이다. CS나 정보처리기사 자격증 취득을 위해서 공부할 때도 느끼겠지만, 트랜잭션을 얼마나 잘 처리해주는가에 따라서 데이터의 신뢰성을 매우매우 크게 올려줄 수 있다.
트랜잭션은 그만큼 데이터베이스에 있어 중요한 개념이기 때문에, 반드시 짚고 넘어가도록 하자.
데이터베이스 에 일어나는 일련의 작업들의 논리적 단위트랜잭션 내의 모든 작업은 반드시 모두 성공트랜잭션 내에서 실패하는 작업이 하나라도 존재한다면, 이전까지의 작업들도 모두 취소
- 계좌 시스템을 예를 들 수 있음
A의 계좌 ->B의 계좌로 1만원을 송금 한다고 가정
A의 계좌에서는1만원이 빠져나가야 함B의 계좌에는1만원이 들어와야 함- 상기 두 가지의 작업은 반드시 둘 다 성공해야 안전함
A의 계좌에서는1만원이 빠져나감B의 계좌로 전달되는 과정에서 오류가 발생해서B의 계좌에는1만원이 추가되지 않음- 하지만
A의 계좌에서는1만원이 이미 빠져나갔으므로,A만 손해를 봄- 이렇듯, 반드시 함께 처리되어야 하는 작업들을 하나의 흐름으로 묶어서 처리할 수 있는 것이 바로
트랜잭션
데이터베이스 의 무결성과 신뢰성을 보장하기 위한 핵심적인 역할트랜잭션 에 포함된 작업들은 모두 성공하거나 하나라도 실패하면 전부 취소 되는 특성트랜잭션 이 완료되면 데이터는 항상 일관된 상태로 유지되어야 함트랜잭션 이 동시에 실행되더라도, 서로 간섭하지 않는 독립적인 상태여야 함트랜잭션 이 성공적으로 완료된 후에는, 시스템 오류나 정전이 발생하는 등 어떤 상황에서도 결과가 영구적으로 저장되어야 함참고) OpenAI. (2024).ChatGPT(4o)[Large language model].https://chatgpt.com/