두 가지 다른 데이터베이스 시스템을 복제하는 방법은 무엇입니까?

StackOverflow https://stackoverflow.com/questions/2026165

  •  19-09-2019
  •  | 
  •  

문제

정확히 stackoverflow에 맞는다면 확실하지 않지만 도구가 아닌 코드를 찾고 있기 때문에 그렇게 생각합니다.

다른 데이터베이스 시스템 (이 경우 MySQL 및 MongoDB)을 복제 / 동기화하는 방법을 찾고 있습니다. 우리는 다른 목적을 위해 달리고 있습니다. 우리는 MySQL 데이터베이스로 시작하여 나중에 특별 응용 프로그램을 위해 MongoDB를 추가했습니다. 두 데이터베이스에는 MongoDB의 MySQL에 제약을 받고 싶은 두 데이터베이스에 원하는 데이터가 있습니다. 예를 들어 : MySQL에는 사용자 기록이 필요하지만 MongoDB에는 테이블 간의 참조가 필요합니다. 현재 우리는 mySQL 데이터를 버리고 mongodB에서 가져 오는 cronjob을 가지고 있습니다. 그러나 그것이 잘 작동하지만 그것이 우리가 갖고 싶은 솔루션이 아닙니다.

나는 일방적 인 복제가 충분할 것이라고 생각합니다. mysql-> mongodb, 중요한 부분은 복제가 MySQL 마스터-> 슬레이브 복제가 작동하는 것처럼 "실시간"으로 작동한다는 것입니다.

이 문제에 대한 솔루션이나 아이디어에 대한 솔루션이 이미 있습니까?

감사!

도움이 되었습니까?

해결책

당신이 찾고있는 것은 EAI라고합니다.엔터프라이즈 애플리케이션 통합). 주변에는 많은 상용 도구가 있지만 제공된 링크 아래에는 몇 가지 OSS 솔루션도 있습니다. EAI의 기초는 데이터 소스와 데이터 싱크가 있다는 것입니다. EAI 프레임 워크는 둘 사이에 맞춤형 펌프를 구축하는 도구를 제공합니다.

DB 트리거를 사용하여 동기화를 시작하거나 응용 프로그램에서 트리거 신호를 보내는 것이 좋습니다. 동기화가 임의로 복잡해질 수 있으므로 키 홀 솔루션이 없습니다 (예 : 모든 행이 어떻게 복사되어 있는지는 어떻게해야합니까?).

다른 팁

대칭 몇 가지 조정으로 트릭을 수행 할 수있는 오픈 소스, Java 기반, 웹 지원 데이터베이스 독립, 데이터 동기화/복제 소프트웨어입니다. MongodbDataloader를 구현하는 데 사용할 수있는 IdataloaderFilter라는 확장 지점이 있습니다.

이것은 일단 데이터베이스 복제에 도움이됩니다. MongoDB-> 관계형 데이터베이스에서 동기화하기가 조금 더 어려울 수 있지만, 대칭 팀은 솔루션을 찾는 데 매우 도움이 될 것입니다.

내가 보는 한 각 DBM에 대한 드라이버가있는 일종의 "제어 프로그램"을 개발하고 데몬으로 실행해야합니다. 데몬에는 DBS를 동기화하기 위해 트리거 또는 매우 작은 리크리치 간격이 있어야합니다.

기술적으로 MySQL 서버의 이진 로그를 구문 분석하고 관련 SQL 쿼리를 복제하는 프로세스를 설정할 수 있습니다. 나는 AA 다른 데이터베이스로 슬레이브로 그런 일을 한 적이 없지만 아마도 촬영할 가치가 있습니까?

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top