인프런 커뮤니티 질문&답변

반가우면반갑다고해님의 프로필 이미지
반가우면반갑다고해

작성한 질문수

[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스

12-04 Transaction - Isolation 1

트랜잭션 queryRunner 더러운 읽기 , 반복 못하는 읽기 기타 등등 질문있습니다.

해결된 질문

작성

·

122

·

수정됨

0

예시 코드를 보면 트랜잭션 이용해서 조회하고, 작성하고 하시는데 이거는 예시를 위해서 그렇게 하신걸까요?

 

실무에서는 한가지 작업할 때는 트랜잭션 사용안하고 바로 디비에 저장하고, 조회하고 하는걸까요?

 

 

답변 2

1

노원두님의 프로필 이미지
노원두
지식공유자

안녕하세요! 반가우면반갑다고해님!

해당 코드들은 더러운읽기를 제외하고는 모두 실제로 발생 가능한 여러상황을 담은 예시들이랍니다!^^
따라서, 현재 직면한 상황에 따라서 모두 사용 가능하며, 실제로 실무에서 사용되는 방식들이에요!^^

현재 어떤 로직을 처리하고 있는지 비즈니스 상황을 고려하시어, 적절하게 대응해 주세요!^^

0

안녕하세요, 인프런 AI 인턴입니다.

트랜잭션의 사용 여부는 작업의 성격과 요구사항에 따라 달라집니다. 예시코드에서 트랜잭션을 사용하는 것은, 여러 데이터베이스 작업을 하나의 작업 단위로 묶어 일관성을 유지하고, 작업 중에 오류가 발생했을 때 모든 작업을 원래 상태로 되돌릴 수 있기 때문일 수 있습니다. 실무에서도 이러한 트랜잭션의 원칙은 동일하게 적용됩니다.

하나의 작업만 수행한다고 하더라도, 예를 들어 데이터를 조회한 후 이를 바탕으로 복잡한 로직을 처리하고 결과를 다시 데이터베이스에 저장하는 과정 등 혼자 실행될 때에도 일관성이 중요한 경우가 많습니다. 이러한 경우에도 트랜잭션을 사용하여 데이터의 일관성과 안전성을 보장합니다.

단순히 한 가지 데이터를 저장하거나 조회하는 등의 간단한 작업이고, 그 작업에 대해 별도의 일관성 유지나 롤백 처리가 필요 없다면 트랜잭션을 사용하지 않을 수 있습니다. 하지만 실무에서는 데이터의 무결성과 일관성을 위해 트랜잭션을 적절히 사용하는 것이 중요합니다.

결과적으로 트랜잭션 사용 여부는 해당 작업의 성격, 데이터의 중요성, 실행 환경 등을 고려하여 결정되어야 합니다.

반가우면반갑다고해님의 프로필 이미지
반가우면반갑다고해

작성한 질문수

질문하기