트랜잭션(Transaction)이란 무엇인가?
트랜잭션은 데이터베이스에서 수행되는 하나 이상의 연산(읽기, 쓰기, 수정, 삭제)을 논리적으로 하나의 단위로 묶는 작업입니다.
이제 데이터베이스 통합의 마지막이자 가장 중요한 주제 중 하나인 트랜잭션(Transaction) 관리와 데이터 정합성(Data Consistency)에 대해 이야기할 차례입니다. 복잡한 애플리케이션에서는 단일 작업처럼 보이지만, 실제로는 여러 데이터베이스 작업(예: 여러 테이블 삽입, 업데이트, 삭제)이 연속으로 수행되는 경우가 많습니다.
TypeORM에서 트랜잭션 관리하기와 Prisma에서 트랜잭션 관리하기를 중심으로 트랜잭션 관리와 데이터 정합성의 판단 흐름을 읽습니다.
트랜잭션은 데이터베이스에서 수행되는 하나 이상의 연산(읽기, 쓰기, 수정, 삭제)을 논리적으로 하나의 단위로 묶는 작업입니다.
NestJS에서 트랜잭션을 관리하는 방법은 사용하는 ORM 또는 ODM에 따라 달라집니다.
트랜잭션은 데이터 정합성을 보장하는 강력한 도구이지만, 잘못 사용하면 성능 저하나 데드락(Deadlock)과 같은 문제를 야기할 수 있습니다.
여기서는 TypeORM과 Prisma를 중심으로 살펴보겠습니다.TypeORM에서 트랜잭션 관리하기TypeORM은 다양한 방법으로 트랜잭션을 지원합니다.