2011-11-21 4 views
0

우리는 MongoDB를 데이터 저장소로 사용하는 생산 시스템을 보유하고 있으며 여기에서 완료되는 많은 작업을 작성합니다.어디에서 MongoDB에 대한 집중적 인 보고서를 실행해야합니까?

나는 어떤 일이 벌어지고 있는지보고 싶으면이 보고서를 MSSQL DB에 복제하려면 복제 된 서버 설정을 사용하고 있으므로 라이브 시스템에 영향을 줄 수있는 잠금이 발생하지 않았습니다.

MongoDB에서 필요한가?

쿼리를 실행하는 데 사용할 수있는 숨겨진 서버를 추가하는 것을 고려하고 있었지만 자세히 조사하지 않았습니다.

답변

4

분명히보고를 위해 실행하는 쿼리는 서버에로드를 추가 할 것입니다. 보고서가 실행중인 쿼리의 유형에 따라 영향을 미치는 정도에 영향을 미칩니다. 보고의 유일한 목적으로 전용 보조를 설정할 수 있습니다. 그런 다음 보조 서버에 직접 연결하여 slaveOk 쿼리를 실행하여 보고서를 실행할 수 있습니다. 이 페이지에는 숨겨진 복제 세트 구성원을 설정하는 방법에 대한 정보가 있습니다 : http://www.mongodb.org/display/DOCS/Replica+Set+Configuration#ReplicaSetConfiguration-Memberoptions.

+0

숨겨진 멤버의 경우. 왜 "이 옵션을 사용하는 것은 드뭅니다"라는 이유를 알고 있습니까? 보고가 매우 일반적이며, 이것이 권장되는 방법이라면 왜 그렇게 드뭅니까? – Jiminy

+0

대부분의 사람들은 정상적인 2 차에서 이런 종류의 물건을 흘려 보냄으로써 2 차 숨겨진 것이 드물다. 보고서 작성을 위해 실행중인 작업의 비용과 보조 서버의 부하가 얼마나 많은지에 따라 다릅니다. 보조 읽기를 수행하지 않거나 2 차 읽기가 가벼운 경우 또는보고에 사용되는 쿼리가 경량 인 경우 숨겨진 보조보고가 필요하지 않으며 표준 보조를 재사용 할 수 있습니다 . – stbrody

관련 문제