Spring Boot MongoDB 트랜잭션 도입 실전 가이드
·2024.12.17 09:00
MongoDB에서 트랜잭션을 구현하기 위한 Replica Set 환경 구축과 동작 원리, 설정 방법을 다룬다.
MongoDB에서 Multi-Document 트랜잭션을 사용하려면 반드시 Replica Set 또는 Sharded Cluster 환경이어야 하며, WiredTiger 스토리지 엔진이 필요하다. Standalone 환경은 복제 기능이 없어 트랜잭션을 지원하지 않는다.
MongoDB 트랜잭션은 Read Committed 격리 수준을 기본으로 하며, Snapshot Isolation을 통해 트랜잭션 시작 시점의 데이터 스냅샷을 기준으로 작업을 수행한다. 이 과정에서 다른 트랜잭션이 데이터를 수정하면 Write Conflict가 발생할 수 있으므로 이에 대한 처리가 중요하다.
Spring Boot 환경에서는 MongoClient 설정을 통해 데이터의 내구성을 결정하는 Write Concern과 읽기 성능 및 일관성을 조절하는 Read Preference를 세밀하게 제어할 수 있다.
- Write Concern 옵션: ACKNOWLEDGED, MAJORITY, UNACKNOWLEDGED, W1, W2, FSYNCED, JOURNALED
- Read Preference 옵션: PRIMARY, SECONDARY, PRIMARY_PREFERRED, SECONDARY_PREFERRED, NEAREST
이 요약은 원문 이해를 돕기 위한 큐레이션입니다. 저작권은 원저작자에게 있으며, 정확한 내용과 맥락은 원문을 확인하세요.
요약 오류, 출처 표기 문제, 삭제 요청은 문의 · 건의로 알려주세요.