2014-07-10 2 views
0

MySQL, Oracle 및 MongoDB의 3 가지 데이터베이스에 쓰려고합니다. 요구 사항은 모든 3 개의 데이터베이스가 일관된 상태 여야한다는 것입니다. 예를 들어, MySQL 및 Oracle에 대한 쓰기가 성공했고 mongo가 실패한 경우 (예 : 네트워크 오류), 실패한 레코드를 mongo에 다시 쓰면 모든 3 개의 레코드를 일관되게 유지할 수있는 방법이 있어야합니다. 이 작업을 수행하는 가장 좋은 방법은 무엇입니까? 실패한 레코드를 저장하고 대기열에서 레코드를 읽고 실패한 데이터베이스에 다시 기록하려고하는 백그라운드 프로세스가 있어야합니까?분산 데이터베이스 트랜잭션

답변

0

가장 좋은 방법은 아마도 Java Transaction API (JTA) 일 것입니다. 개인적으로 사용하지는 않았지만 분산 트랜잭션을위한 Java "업계 표준"인 것 같습니다.

+0

사용자, 2 단계 커밋을 언급하고 있습니까? 유일한 분산은 mongodb를 전체 분산 트랜잭션에 포함시키는 방법을 모르겠다. 자동 분산 트랜잭션을 실제로 지원하지 않기 때문이다. –