💪 Today I Learned
Transaction
- 데이터베이스의 상태를 변환시키는 작업 수행의 논리적 단위
- ACID 특성
- 원자성 (Atomacity) : All or Nothing
- 일관성 (Consistency) : 트랜잭션 완료 시 일관적인 데이터베이스 상태 유지
- 격리성 (Isolation) : 트랜잭션끼리 서로 간섭 X
- 지속성 (Durability) : 성공적으로 수행된 트랜잭션은 영원히 반영
🏃 한마디
Brunch 어플에서 유일하게 트랜잭션 처리를 해줘야 하는 부분이 있었다. 바로 조회한 게시글이 사용자의 최근 본 글 목록에 들어가는 것이다.
나는 트랜잭션 시작하는 부분과 commit
/ rollback
을 각각 함수로 만들어서 구현했는데 알고보니 맞지 않은 코드였다. 각 함수마다 디비 커넥션을 연결했다 끊어주기 때문에 정상적인 처리가 일어나지 않는다고 한다. 그래서 try-catch
문으로 수정해서 작성해야겠다.