2011-08-20 8 views
1

내 라이브 사이트에서 mongodb를 사용하여 사이트에 사용자 활동을 저장하고 있습니다.서버에서 로컬 시스템으로의 증분 백업

monogdb를 실행하는 단일 서버가 있습니다. 나는 마스터 슬레이브 복제를 위해 두 번째 서버를 가질 여유가 없다.

내 문제는 매일 서버의 mongodb 데이터베이스의 덤프를 가져 와서 내 로컬 컴퓨터에 복원하여 내 로컬 컴퓨터에서 쿼리 할 수 ​​있도록하려는 것입니다. 덤프 및 복원 방법을 알고 있지만 문제는 매일 있습니다. 서버에서 전체 데이터베이스를 덤프하고 로컬 시스템의 처음부터 복원하는 것이 좋습니다. 많은 시간이 걸립니다.

그래서 내 질문은 .. mongodb에서 증분 백업을 할 수있는 방법이 있으므로 적은 시간이 걸리므로 단 하루의 데이터 만 덤프하고 복원해야합니다.

답변

1

나는 mongodb에 대해 많이 모른다. 그러나 나는 생각이있다.

로컬 mongodb 인스턴스를 마스터 프로덕션 db의 슬레이브로 소개하고 가능한 경우 로컬 시스템에서 라이브 시스템 생성을 방지하기 위해 가능한 경우 슬레이브 만 쓰기 가능하다고 생각합니다.

이렇게하면 슬레이브가 마스터 쓰기 및 삭제를 추적하고 마스터 사본으로 만들려고하기 때문에 작동 할 수 있습니다. 그리고 할 수있는 좋은 이유가 있습니다. 노예가 온라인 일 필요가 없습니다. 온라인 일 때, 노예가 마스터 목록을 확인합니다 (이 목록 길이는 1 시간 또는 1 일처럼 설정할 수 있습니다). 가능한 빨리 마스터.

로컬에 마스터를 덤프하면이 방법으로 하루에 두 번 데이터를 백업 할 수 있습니다.

+1

, 당신은 것을 알아서해야합니다 (즉, 당신이 없을 때 백업 수행)을 사용하여 다수의 노드에서 기본 선거를 수행 할 수 있습니다. 하나의 머신에서 그렇게하기 위해서, 당신은 중재자로서 mongod의 또 다른 인스턴스를 실행할 수있다. 이것은 중표자지만 데이터를 저장하지 않는 replica 세트 노드이다. 중재자는 가볍고 일반 mongod와 동일한 기계에서 실행할 수 있습니다. 자세한 내용은 [중재인에 관한 mongodb.org 문서] (http://www.mongodb.org/display/DOCS/Adding+an+Arbiter)를 참조하십시오. – dcrosta

관련 문제