다음과 같은 상황이 있습니다. postgresql 데이터베이스를 실행하는 세 대의 컴퓨터가 있습니다. 한 시스템은 클라이언트 계정 정보 (이 시스템 C라고 함)를 보유하고 다른 두 시스템은 클라이언트 로깅 정보를 보유합니다 (L1 및 L2 호출). 분할 된 이유는 여러 시스템에 대한로드를 분리하기 때문입니다 (일부 클라이언트는 L1에 로깅 정보를 전송하고 일부는 L2에 전송하고 일부는 L3, L4 등).
로깅 정보를 검색 할 때 원칙적으로 Ln의 로깅 테이블과 C의 클라이언트 계정 테이블 사이에 참여할 수 있기를 원합니다. 실제로는 이와 같이 JOIN을 수행 할 수 없습니다 (가능한 경우에도 원합니다) 로드를 피하기 위해 C).
내 생각은 C의 테이블을 L1, L2 각각에 복제하여 조인을 수행 할 수 있도록하는 것입니다. C의 테이블과 관련하여 C는 마스터이고 L1, L2, ...는 슬레이브입니다. 그러나 L1, L2의 다른 테이블의 경우 ...이 기계는 마스터입니다. 정확히 마스터-마스터 복제가 아니며 정확하게 마스터-슬레이브가 아닙니다.
postgres (9.1을 실행 중입니다) 복제 가이 작업을 수행하도록 설득하거나 작업을 수행하는 다른 패키지가없는 경우 설득 할 수 있습니다. 마지막 수단으로, 주기적으로 동기화하는 테이블을 약간의 코드로 작성할 수 있지만 (지연이 가능합니다), 좋지 않을 것입니다!
미리 감사드립니다.