복붙노트

[SPRING] MongoDB의 트랜잭션

SPRING

MongoDB의 트랜잭션

Java 및 Spring 데이터와 함께 NoSQL 데이터베이스 MongoDB를 사용하고 있습니다. MongoDB는 단일 문서에 대한 트랜잭션 만 지원한다는 것을 알고 있습니다.

MongoDB 트랜잭션을 수행하기 위해 Spring Transactions를 사용하고 있습니다. TransactionTemplate을 사용하고 있습니다. TransactionTemplate을 사용할 때 TransactionManager에서 무엇을 설정해야합니까?

편집하다

나는 이런 것을 가지고있다 :

<bean id=”txtTemplateBean” class=”org.springframework.transaction.support.TransactionTemplate”>
<property name=”transactionManager” ref=”txnManagerBean”></property>

MongoDB 데이터베이스의 DataSourceTransactionManager와 같은 것을 가리 키도록 txnManagerBean을 정의해야합니다.

해결법

  1. ==============================

    1.다중 문서 ACID 트랜잭션은 이제 MongoDB 4.0에서 지원됩니다! https://www.mongodb.com/blog/post/mongodb-multi-document-acid-transactions-general-availability를 참조하십시오.

    다중 문서 ACID 트랜잭션은 이제 MongoDB 4.0에서 지원됩니다! https://www.mongodb.com/blog/post/mongodb-multi-document-acid-transactions-general-availability를 참조하십시오.

  2. ==============================

    2.MongoDB는 2 단계 커밋을 사용하여 트랜잭션과 같은 의미를 지원합니다.

    MongoDB는 2 단계 커밋을 사용하여 트랜잭션과 같은 의미를 지원합니다.

    낙관적 잠금을 사용하여 mongodb에서 트랜잭션을 지원하는 또 다른 독립적 인 노력이 있습니다.

  3. ==============================

    3.MongoDB는 트랜잭션을 지원하지 않으며 단지 원자 연산 만 지원합니다.

    MongoDB는 트랜잭션을 지원하지 않으며 단지 원자 연산 만 지원합니다.

    http://docs.mongodb.org/manual/tutorial/model-data-for-atomic-operations/

    다음은 낙관적 잠금을 사용하는 MongoDB 트랜잭션을 구현 한 사람의 게시물입니다. https://stackoverflow.com/a/12757751/1173560

  4. from https://stackoverflow.com/questions/14967940/transactions-in-mongodb by cc-by-sa and MIT license