2011-03-28 7 views
0

고객이 가지고있는 다양한 도메인 객체에 맞춤 필드를 추가하여 스키마를 부분적으로 정의 할 수있는 앱이 있습니다. 우리는 이러한 사용자 정의 필드에 대한 추세 데이터를 조사하고 있습니다. 나는 개체에 나열된 변경 사항이있는 형식으로 데이터를 저장하려고 생각했습니다.트렌드 데이터 용 MongoDB

{ 
    _id: "id", 
    custom1: 2, 
    changes: { 
      '2011-3-25': { custom1: 1 } 
      } 
} 

이것은 분명히 우리가 거라고 변화의 시간 내에 잘 생각 최대 문서 크기 (16메가바이트) 미만이어야 할 것입니다.

또 다른 것 할 수있는 모든 개체의 변화에 ​​대한 여러 레코드가 있습니다

{ 
    _id: "id", 
    custom1: 1, 
    changeTime: '2011-3-25' 
} 

이 문서 제한이없는,하지만 설정 전체의 변화를 얻기 위해 더 많은 작업을 필요로하는 많은 기록이있을 것을 기록.

어느 것을 선택 하시겠습니까?

답변

1

16MB 제한 내에 남아 있다면 단일 문서 경로로 이동하려고합니다. 이렇게하면 레코드를로드하기위한 단일 읽기 일 뿐이며 모든 변경 사항은 빠르게 처리됩니다. 문서 내에서 변경된 사항을 확인하면 자연스럽게 데이터를 모델링하는 것처럼 느껴집니다.

이와 같은 상황에서 특히 이전에 해본 적이없는 경우라면 접근 방식을 테스트하기 위해 벤치 마크를 노크하려고합니다. - 그런 식으로 각 접근 방식의 장단점/성능이 나에게 나타납니다 (희망을 갖고) 당신이 선택한 접근법에 자신감을 부여합니다.

관련 문제