2008-10-10 2 views

답변

7

Db4O에서 제공하는 데이터 복제 서비스가 정말 좋다고 들었습니다. 그것은 당신이 RDBMS로 돌아 가기 위해 Hibernate를 사용할 수있게 해줍니다 - JDBC Tho (http://www.db4o.com/about/productinformation/drs/Default.aspx?AspxAutoDetectCookieSupport=1)

수선화라고하는 오픈 소스 프로젝트가 있습니다. 그러나 나는 그것을 전혀 조사하지 않았습니다. (https://daffodilreplicator.dev.java.net/)

내가 현재 사용하고 고려하고 하나가 호출 SymmetricDS (http://symmetricds.sourceforge.net/는)

그들이 각각 약간 다르게 그것을 다른 사람이 있습니다. 일부는 트리거를 사용하고, 일부는 폴링하고, 일부는 JDBC 드라이버를 인터셉트합니다. 당신은 당신이 정말로 사용하고 싶은 것을 결정하기 위해 어떤 기술적 한계를 결정할 필요가 있습니다.

위키 피 디아는 다른 기술 (http://en.wikipedia.org/wiki/Multi-master_replication)에 대한 좋은 개요를 제공하고 또 다른 대체 DBReplicator (http://dbreplicator.org/)에 대한 링크를 제공합니다.

2

코드베이스에 이미 존재하는 모델과 DAO 레이어가 있다면, 당신 만의 고유 한 동기화 프레임 워크를 만들 수 있습니다. 어렵지 않습니다.

동기화 일부를 가지고 데이터베이스 객체 (등, UUID)를

  • 제거 데이터베이스 메타 데이터 데이터베이스 B로
  • 삽입하기 :로

    데이터 복사가 간단 이미 동기화 된 항목에 대한 지식 수준. TableInA 및 TableInB에서 uuids 목록을 가져 와서 새로운 항목을 찾거나 런타임에 동기화해야하는 항목의 테이블을 만들거나 (TableInA에서 삽입/업데이트 할 때 트리거로 채우기) 런타임에이를 수행 할 수 있습니다. , 그리고 그걸로 실행하십시오. 도구는 TimerTask가 될 수 있으므로 원하는 시간에 데이터베이스를 동기화 상태로 유지할 수 있습니다.

    그러나이 구현 faff가 없어도 모든 작업을 수행 할 수있는 도구가있을 수 있으며 각 구현은 비즈니스 요구 사항에 따라 다를 수 있습니다. 또한 데이터베이스 수준에서 복제 도구가 있습니다.

  • +0

    사려 깊은 대답에 감사드립니다. 현재 롤업 자신 만의 동기화 전략이 있으며 좀 더 일반적인 것으로 대체하려고합니다. –

    2

    진정한 동기화에는 데이터베이스 스키마가 있기를 바라는 데이터가 필요합니다. SyncML 문서를 읽고 어떻게 진행되는지 확인하십시오. Sync4J는별로 도움이되지 않을 것입니다. 실제로는 높은 수준의 XML 지향입니다. 충돌을 미리 예상하지 않으면 (즉, 매우 쉬운 동기화를 의미 함) Enhydra Octopus과 같은 간단한 ETL로 시도해 볼 수 있습니다.

    0
    내가 주로 순간에 오라클을 사용하고

    , 내가 건너 온 한 가장 완전한 기능을 갖춘 경로 비교 레드 게이트의 데이터입니다 :

    http://www.red-gate.com/products/oracle-development/data-compare-for-oracle/

    이 오래된 블로그의 좋은 요약을 제공합니다 솔루션 가능한 경로 :

    http://www.novell.com/coolsolutions/feature/17995.html

    JDBC의 특정 제품 I가 건너 한 것은 아주 기본적인되고있다. 이 도움이

    http://symmetricds.codehaus.org/

    희망 : 당신이 게시 - 구독 경로를 아래로 이동하려면 Aidos 언급이 솔루션은 대부분의 기능을 완벽한 보인다.

    관련 문제