더북(TheBook)

모든 질문은 모든 제품 유형에 공통으로 적용되며, 마지막 질문만 제품 유형별로 판매된 제품 수를 집계하는 질문이다. 따라서 모든 제품은 단일 문서 컬렉션에 담아야 한다(그림 6-5). 웹 접속 정보와 서버 로그 데이터가 포함된 컬렉션 사례와는 달리 이 제품 문서 유형들은 질의에 응답하고 필요한 값들의 계산을 위해 함께 사용되는 경우가 빈번하다.

▲ 그림 6-5 토스터와 데이터베이스 설계에 관한 책이 같아질 때는 언제인가? 애플리케이션 질의에 의해 이들이 같게 처리되는 때는 언제인가? 이 같은 질문들이 문서와 컬렉션을 구성하는 데 있어 도움이 될 수 있다


단일 문서 컬렉션을 선호하는 또 다른 이유는 고객이 늘어나고 새로운 제품 유형이 추가될 가능성이 있기 때문이다. 만약 제품 유형의 수가 10개 심지어는 100개까지 늘어나더라도 컬렉션 수는 그만큼 증가하지 않을 것이다.

Note 다양한 유형의 질의를 지원하기 위해 종종 관계형 데이터베이스가 사용된다. NoSQL 데이터베이스는 애플리케이션 지원의 특정 측면을 위해 최적화된 기능을 제공하여 관계형 데이터베이스를 보완하고 있다. 데이터부터 시작해 컬렉션을 어떻게 구성할지 그 방법을 찾아내려고 노력하는 대신 데이터가 어떻게 사용되는지 이해하기 위해 질의를 알아보는 것이 나을 수 있다. 또한, 이렇게 하는 것이 컬렉션과 문서를 구조화하는 방법에 관한 여러분의 결정에 도움을 줄 수 있을 것이다.

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