2014-05-12 2 views
1

스프링 웹 애플리케이션에 mongo를 사용하고 있습니다.MongoDB (스프링 데이터 포함) - 보관

데이터가 지속적으로 업데이트되고 채워지는 하나의 문서가 있습니다. 내 웹 응용 프로그램의 성능이 시간이 지남에 따라 저하되는 것이 가능성이

1) 문서를 색인하는 경우, 매우 빠른 속도로 채워되고있다 :

나는 몇 가지 질문이 있습니까? (내 업데이트는 대부분 관련성이있는 경우 "byId"로 수행됩니다.) 2) 질문 1의 대답이 "예"인 경우 - 내 거대한 수집을 위해 보관 방법을 어떻게 구현할 수 있습니까? 해당 컬렉션의 지난 2 개월 동안 데이터를 보관하고 싶습니다. 다른 데이터는 보관해야합니다. 가능한 \ 봄 \ mongo에 의해 지원됩니까?

3) 어떤 방식으로 보관해야합니까? 그것은 단순한 파일이어야 하는가? 다른 데이터베이스?

감사

답변

0

당신이 당신의 질문에 documentcollection의 의미를 혼합하여 사용하고 있지 않은지 확인하십시오. 컬렉션에 업데이트하는 문서가 하나만 있습니까?

1) 인덱스가있는 컬렉션에 새 문서를 삽입하면 인덱스가 업데이트되어야하고 문서를 이동해야하기 때문에 컬렉션이 커지면이 작업의 속도가 느려집니다 저장 형식으로. 컬렉션에서 검색하는 것보다 (더 자주) 컬렉션에 삽입하는 경우 삽입 속도를 높이기 위해 인덱스를 제거하는 것이 좋습니다 (검색 속도는 느려집니다). 빠른 해체 전에 데모 데이터 세트에서 두 솔루션의 성능을 테스트해야합니다.

~ 2) 나는 봄이 지원되는지 모르겠습니다. 하지만 mongoexport을 사용하여 단일 컬렉션을 백업 할 수 있습니다. 내 answer here을보십시오.

mongoexport -d databasename -c collectionname -o savefilename.json 

3) 내 보낸 컬렉션은 JSON 형식의 UTF-8 텍스트 파일이됩니다. 컬렉션 내의 각 문서에 대해 한 줄씩. 내보내기 후에는 zip 파일을 사용하여 메모리를 축소 할 수 있습니다.