ABOUT ME

-

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

    'Database > MongoDB' 카테고리의 다른 글

    Import, Export, Dump  (0) 2023.02.02
    ReadConcern & WriteConcern  (1) 2023.02.02
    ReplicaSet  (0) 2023.02.02
    2대의 서버로 구성하는 개발용 Shard Cluster  (1) 2023.02.02
    Sharding & Cluster  (1) 2023.02.02
Designed by Tistory.