transaction
-
TransactionDatabase/MongoDB 2023. 2. 2. 22:52
원자성은 트랜잭션이 시작되고 종료되었는지를 알려주는 메커니즘과 변경 전, 후 데이터의 복사본을 보존하는 것에 의해 실행되며, 이 원자성을 가질 수 있게 해주는것이 tansaction 입니다. 단일 도큐먼트에서는 원자성이 성립하나 여러 개의 도큐먼트를 CRUD하는 경우에는 원자성이 성립하지 않는다는 것입니다. 여러 도큐먼트에서 원자성을 유지하기 위해서는 트랜잭션이 필요합니다. 단순하게 보면 여러개의 작업을 할때, 명령 중 하나가 실패했을때 반영되지 않아야 한다면 트랜잭션 을 사용하면 됩니다. 트랜잭션으로 처리할 수 있는 작업은 도큐먼트를 CRUD하는 것만 가능하며 컬렉션을 생성하는 등 도큐먼트 레벨을 벗어나는 작업은 할 수 없습니다. session = db.getMongo().startSession() s..