Study/DataBase

    [DataBase] 일관성과 지속성의 차이

    [DataBase] 일관성과 지속성의 차이

    데이터베이스의 트랜잭션을 공부하다 보니 정확하게 이해가 안 가는 부분이 생겼습니다. 트랜잭션의 특징에 대한 부분이었는데 트랜잭션의 일관성과 지속성에 대한 부분이었습니다. 인터넷에서 찾아본 한국의 많은 곳에서 두 가지를 각각 아래처럼 설명하고 있습니다. 일관성( Consistency ) : 트랜잭션이 실행을 성공적으로 완료하면 언제나 일관성 있는 데이터베이스 상태로 유지하는 것을 의미합니다. 지속성( Durability ) : 성공적으로 수행된 트랜잭션은 영원히 반영되어야 함을 의미합니다. 두 가지의 설명을 읽어보면 뭔가 다른 듯 하면서도 결국 같은 이야기를 하는 것이 아닌가 라는 생각을 떨쳐낼 수가 없었습니다. 트랜잭션이 성공하면 계속해서 유지되어야 한다..? 가 결국 같은 말 같았기 때문입니다. 그래서..

    [DataBase] 트랜잭션 정리

    개발을 하게 되면서 데이터베이스를 다루어야 한다면 트랜잭션이라는 단어를 접하게 됩니다. 트랜잭션이란 간단히 설명하자면 '데이터베이스의 상태를 변화시키는 작업의 단위'라고 할 수 있습니다. 데이터베이스를 다룰 때에 이 트랜잭션에 대한 깊은 이해가 필요한데 왜 작업의 단위에 대해서 이해가 필요한지 이유를 적어보도록 하겠습니다. 먼저 어떠한 데이터베이스를 사용할 때에 우리가 인지하지 못한 오류가 발생하는 경우가 존재합니다. 가장 많이 쓰이는 예제인 은행거래의 상황을 살펴보며 이해 보겠습니다. - A가 B에게 50,000원을 계좌 이체해주기로 하였습니다. - 그리고 A가 B에게 계좌 이체를 요청하였고 은행 애플리케이션에서 계좌 이체 작업이 진행됩니다. 1. A의 계좌에서 50,000원이 차감됩니다. ( - ) ..