2014-11-28 2 views
1

MongoDB를 사용하는 프로젝트에서 MongoDB 설치를 서버 관리자에게 요청했습니다.MongoDB one server problems/pittfalls

최근에는 데이터 손실 가능성 때문에 단일 서버에서 MongoDB를 실행하는 것이 실제로 권장되지 않는 이전 stackoverflow 스레드를 읽었습니다. 저는 전문가가 아니기 때문에 그런 경우는 피하고 싶습니다. 이러한 문제가 여전히 존재합니까? 원격 데이터베이스와 같은 다른 솔루션을 찾거나 설치해야합니까?

내 관리 서버 공급자가 처리해야하는 함정은 무엇입니까?

+1

[기사] (http://www.thebuzzmedia.com/mongodb-single-server-data-durability-guide/)이 유용 할 수 있습니다. – chridam

+1

경고 :이 기사에서는 2010 년 7 월부터 1.5 버전의 상황을 설명합니다. 거의 4 년 반이 지난 현재 버전 2.6.5입니다. 그 이후로 특히 단일 서버 내구성과 기본 설정과 관련하여 많은 부분이 변경되었습니다. – mnemosyn

+0

간단히 말하면, 적어도 두 개의 데이터 보유 노드와 생산을위한 중재자가있는 복제 세트를 갖고 싶습니다. 기본적으로 데이터베이스 측면에서 대부분의 중단 시간 원인 인 유지 관리를 제거하는 비교적 저렴한 방법입니다. 나는 대개 유지 보수 작업 중에도 중복성을 가지기 위해 최소 3 개의 데이터 노드가 있어야한다고 제안합니다. 일반적으로 귀하의 질문은 주제에 대해 약간의 논점 (_programming_ questions를 목표로 함)이므로 http://dba.stackexchange.com에 게시하여 여기에서 삭제 해 주시기 바랍니다. 그곳에서 더 자세한 답변을 드리겠습니다. –

답변

2

경고 - chridam에 의해 링크 된 문서는 위험하게입니다.

간단히 말해서 이므로 MongoDB의 단일 서버 배포에 대해서는 더 이상 걱정할 필요가 없습니다. 기본적으로 MongoDB는 모든 것을 100ms마다 저널에 쓸 것입니다. j (저널) 옵션으로 쓰기가 있으면 해당 간격이 1/3로 단축됩니다. 나는 비슷한 질문에 얼마 전에 a longer answer with the gritty details (두 명)을 게시했다.

요점은 j : true의 쓰기 작업이 쓰기가 저널에 만들어지기 전까지는 반환되지 않습니다 (즉,이 호출에 평균 16ms +가 소요될 것으로 예상 됨). 이는 정확히 예상되는 동작이며 이는 또한 대부분의 다른 dbs가 어떻게 행동하는지.

저널 쓰기 문제 (j : true)를 사용하고 저널링을 사용하지 않도록 설정해야합니다. 또한 기본값은 서버 버전에 따라 다르므로 많은 새로운 기능, 버그 수정 및 성능 향상이 있으므로 MongoDB의 다소 최신 버전이 제공되는지 확인하십시오 (서버가 debian을 안정적으로 실행하는 경우에는 그렇지 않을 수도 있습니다).

+0

답변 해 주셔서 감사합니다. 내가 충분히 명성을 얻 자마자 나는 upvote 할 것이다. 대답은 매우 도움이되었습니다. – SimonEritsch