2012-04-17 5 views
2

우리의 웹 응용 프로그램에는 각 사용자와 관련된 많은 양의 데이터가 있습니다. 그래서 우리는 각 사용자에게 별도의 데이터베이스를 할당하려고합니다. 따라서 큰 번호가 필요합니다. 데이터베이스.MongoDB - 많은 수의 데이터베이스

제 질문은 - 아니오에 제한이 있습니다. 데이터베이스의 like there is a 24,000 limit 컬렉션을 단일 데이터베이스에 저장합니다.

편집

우리가 각 사용자에 대해 별도의 DB를하기로 결정했다는 사실 -이 어떤 식 으로든 잘못된 디자인을 나타 냅니까?

사실 웹 앱은 일종의 재고 시스템으로 (그보다 조금 복잡합니다.) 각 사용자와 관련된 정보는 많지 않습니다 (세션 데이터는 물론). 데이터베이스에 저장해야합니다.

우리는 데이터베이스에 컬렉션을 사용하여 사용자와 관련된 차이 유형의 정보를 저장하기로 결정했습니다. 그리고 Mongo DB는 "콜렉션"보다 더 높은 수준의 추상화가 없으므로 별도의 DB를 사용하여 사용자를 구분해야합니다.

+0

더 많은 답변을 수락하십시오. 귀하의 질문은 "어떤 식 으로든 잘못된 디자인을 나타냅니다"라고 대답해도 "예"라고 대답해도 안심할 수 있습니다. –

+3

약 120 개의 데이터베이스와 재난 발생 후 689 개에서 문제가 발생하기 시작했습니다. 로그에는 실제 힌트가 없었지만 mongo (v2.2.0)는 다시 시작하지 않습니다. show dbs와 같은 작업도 실패합니다. – thanos

답변

4

사용자 당 하나의 데이터베이스를 사용하고 데이터베이스간에 데이터 흐름이 없으면 항상 특정 지방 클라이언트의 데이터베이스를 자체 서버에 배치 할 수 있으므로 아무런 제한이 없습니다.

당신이 샤르 드 클러스터에 대해 이야기했다면, 다시 당신이 괜찮다고 생각합니다. 데이터베이스가 많을수록 더 많은 메모리 구성 서버가 사용됩니다. config 서버가 자신의 머신을 초과하면 데이터베이스가 상당히 많다는 것을 알게됩니다.

+0

예, 두 사용자간에 데이터 흐름이 전혀 없습니다. 그러나 MongoDB 시스템이 수백만 개의 데이터베이스와 같은 것으로 괜찮은지 궁금합니다. – treecoder

+0

@good_computer : 누구나 그렇게 해본 것은 의심 스럽습니다. 하지만 내가 아는 바로는 클러스터를 사용할 때 괜찮을 것이다. 클러스터를 사용하지 않는다면 데이터베이스가 자신의 mongodb 서버에 있기 때문에 문제가 발생하지 않을 것입니다. –

관련 문제