먼저 꺼짐 - 하루에 여러 번 배치를 실행하지 않는 이유는 무엇입니까? 실제로 "실시간"이 아니지만 실제 결과가 충분히 나타날 수 있습니다.
하나의 옵션은 사용중인 SQL 엔진에서 제공하는 마스터 - 마스터 복제를 구현하는 것입니다. 이것은 아마도 중복 ID, 자동 증가 불일치 등을 방지하기 위해 취해야 할 단계가 있음을 의미합니다. 예를 들어 홀수 ID와 짝수 ID가있는 항목을 생성하도록 마스터 마스터 시스템을 설정했습니다.
또 다른 접근법은 모든 읽기가 로컬 데이터베이스에 대해 수행되고 모든 쓰기가 단일 원격 마스터로 수행되는 것입니다. 데이터는 마스터 - 슬레이브 설정으로 복제됩니다. 이것은 최상의 데이터 일관성을 제공하지만 느린 네트워크는 모든 쓰기를 느리게 만듭니다. 대부분의 상호 작용은 읽기이므로 마스터 - 마스터 복제의 상단에 이러한 종류의 설정이 구현되어 있습니다.
하나의 실제 사용 사례 나는 Firebird SQL을 기반으로 비슷한 매장/창고 설정을 실제로 발견했습니다. 모든 단일 테이블에는 로컬 데이터베이스의 모든 작업을 로그 테이블에 저장하기 위해 구현 된 트리거가있었습니다. 정기적으로이 로그 테이블을 확인하고 데이터를 원격 데이터베이스로 업데이트하고 원격 테이블 (자체 로그 테이블이있는)에서 새 데이터를 가져 오는 복제 응용 프로그램이 항상있었습니다. 하지만 데이터베이스 설정에서 변경된 사항과 복제 응용 프로그램이 때때로 실패/정지 할 때 업데이트해야하는 트리거가 있으므로 유지 관리가 어렵다는 단점이 있습니다. 그러나 데이터 일관성은 양호하게 유지되었으며 로컬 데이터베이스에 대해 사용 된 음수 ID 및 마스터/원격에 대한 양수 ID로 해결되었습니다. 그러나 결국 그것은 실제로 "실시간"을 제공하지 못했습니다.
결국에는 단 구두 맞추기가 전혀 없으며 해당 주제에 대한 책을 쓸 수 있습니다. 연구와 Google은 당신의 친구입니다.
용 SQL Server 버전 2005-2008 ['Sql Server Replication'] (http://technet.microsoft.com/en-us/library/ms151198.aspx)을 사용할 수 있으며 SQL Server 2012가있는 경우 [ 'AlwaysOn Availability Groups'] (http://technet.microsoft.com/en-us/library/hh510230.aspx) 옵션이 있습니다. 다른 옵션은 ['Database Mirroring'] (http://technet.microsoft.com/en-us/library/ms189852.aspx)이지만 SQL Server 2014에서 사용되지 않으므로 제안하지 않았습니다. –