2013-10-17 2 views
4

내 목표는 내가 할 수있는 가장 빠른 읽기 작업을 달성하는 것부터 시작하겠습니다. 그래서 내가 달성 할 수있는 코드/설명에 뭔가를 발견하면 알려주십시오.MongoDB의 사용자 정의 유형 매핑

MongoDB에서 개체를 가져 오는 읽기 전용 웹 응용 프로그램이 있습니다. 그러나 사용자에게 반환 할 응답 객체가 모든 데이터를 필요로하지는 않습니다. 그것이 지금의 약자로서 다음과 같이 프로세스는 다음과 같습니다

  • 응답 객체에 상기 물체의 값을 전송하는 객체에 몽고에서
  • 를 사용하여 접근 방법을
  • 지도 정보를 정보를 검색합니다.
  • 응답 개체를 사용자에게 반환합니다.

1 단계와 2 단계를 결합하여 mongo에서 나오는 데이터가 응답 개체에 직접 매핑되도록하는 것이 좋습니다.

저는 DefaultMongoTypeMapper을 통해 파고 들었습니다. 모든 클래스를 활용했지만, 올바른 방향으로 가기 전에 제 머리를 감싸는 것은 대단히 중요합니다.

위에 나열된 것 외에 몇 가지 다른 우려 사항이 있습니다. 하나는 Mongo에 저장되어있는 객체가 원시 데이터이므로 _class 필드가 없다는 것입니다 (유형 매퍼는 해당 필드를 사용하여 매핑 할 클래스를 결정합니다). 이것의 최대 단점은 데이터베이스에서 나오는 모든 것이 같은 객체에 매핑 될 것이므로 어떤 클래스를 사용할 지 가정 할 수 있습니다.

누구나 이런 식으로 일한 사람은 과거입니까, 아니면 어떻게 수행 할 수 있는지에 대한 제안이 있습니까?

매우 감사드립니다.

답변

4

가장 빠른 읽기 작업을 원한다면 MongoDB를 사용하여 실제 읽기 속도와 네트워크를 통해 전송하는 것이 가장 좋습니다. Java 내 처리 (이유 내)는 총 요청 시간의 매우 낮은 % 일 것입니다. MongoDB에서 원시 읽기 (색인, 쿼리, 레코드 수, 데이터베이스 스키마, 구성 등)를 살펴볼 수 있습니다.

Java 처리의 경우 사용자가 원하는 대상에 따라 크게 달라집니다 결과와 함께하십시오. 자바 처리를위한 다양한 옵션에 대한 몇 가지 테스트를 작성하는 것이 좋겠지 만 이것은 CPU 사용 가능성이 높습니다. 한 번에 많은 레코드를 처리하는 테스트를 만들 수 있다면 각각의 성능 특성을 볼 수 있습니다.

문서에서 POJO를 생성하는 코드를 수동으로 작성할 수 있습니까? 이것은 가장 잘하는 사람 일 것입니다. 당신이 잘 알고있는 경우 (위에서 언급 한 바와 같이) 그렇지 않으면 모르핀과 같은 ODM는 https://code.google.com/p/morphia/

/Spring을 사용 이미 참조 : http://spring.io/guides/gs/accessing-data-mongo/

: http://projects.spring.io/spring-data-mongodb/ 어쩌면 좀 봐