2010-07-20 10 views
3

로컬 데이터베이스를 로컬 데이터베이스와 효과적으로 동기화하려면 어떻게해야합니까? 로컬 버전에서 작업을 수행 할 때 전역 데이터베이스에서도 작업을 수행 할 수 있습니다. 데이터 베이스. 단순히 데이터베이스를 변경하는 사람의 수에 따라 데이터베이스의 로컬 사본이 여러 개있을 수 있기 때문에 버전 제어를 사용하여 전역을 파괴하는 것은 용납 될 수 없습니다. 다른 말로하면 데이터베이스의 미러를 가지고 있기 때문에 네트워크의 다른 곳에 있더라도 로컬로 액세스 할 수 있습니다.로컬 SQLite DB를 서버 SQLite DB와 동기화하십시오.

답변

4

매우 복잡한 주제의 경우 데이터베이스 동기화. 가장 간단한 방법은 모든 쿼리의 응용 프로그램 수준 (또는 사용자 지정 sqlite 래퍼)에있는 레코드를 각 시스템에 대해 실행 한 다음 동기화 할 때 해당 쿼리를 다시 실행하는 것입니다.

여러 소스 또는 양방향 동기화가있을 때 문제가됩니다. 한 데이터베이스에서 정상적으로 실행 된 쿼리는 다른 작업 순서 (참조 무결성이 설정된 경우)로 인해 다른 쿼리에서 실패 할 수 있습니다.

더 복잡하지만 강력한 접근 방식은 각 테이블에 대한 전체 트랜잭션 기록을 추적하는 것입니다. 또한 각 트랜잭션에서 영향을받는 레코드와 각 트랜잭션 내의 순서를 알아야합니다. 그 일이 끝나면 문제가 발생할시기를 감지하고 자동으로 문제를 해결할 수있는 방법이 필요합니다.

관련 문제