더북(TheBook)

시간이 갈수록 데이터베이스에 저장되는 데이터 수는 증가한다. 이러한 입력 데이터의 흐름을 처리하기 위해 애플리케이션 설계자는 문서 구조를 어떻게 만들어야 할까? 한 가지 방법은 각 데이터 집합별로 새 문서를 만드는 것이다. 트럭 운송 운용 데이터의 경우에는 트럭 ID, 시간, 장소 등의 데이터가 있어야 할 것이다.


{
  truck_id: 'T87V12',
  time: '08:10:00',
  date: '27-May-2015',
  driver_name: 'Jane Washington',
  fuel_consumption_rate: '14.8 mpg',
  …
}

트럭별로 시간당 20개의 데이터 집합이 전송되거나 하루에 10시간, 총 200개의 데이터 집합이 전송된다고 해보자. truck_id, date, driver_name은 문서 200개에서 같은 값을 갖고 있을 것이다. 이럴 때에는 특정한 날에 사용된 트럭에 관한 운행 정보 데이터가 있는 문서를 중첩시키는 것이 좋다. 그러려면 운행 정보 데이터가 있는 문서를 배열로 처리하면 된다.


{
  truck_id: 'T87V12',
  date : '27-May-2015',
  driver_name: 'Jane Washington',
  operational_data:
                    [
                      {time : '00:01',
                        fuel_consumption_rate: '14.8 mpg',
                      …},
                      {time : '00:04',
                        fuel_consumption_rate: '12.2 mpg',
                      …},
                      {time : '00:07',
                        fuel_consumption_rate: '15.1 mpg',
                      …},
                    ...]
}

이 문서는 배열에 있는 단일 운행 정보 레코드로 시작해서 10시간에 걸쳐 배송이 끝나면 200개 항목을 이 배열에 담을 것이다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.