더북(TheBook)

컬렉션

컬렉션은 문서의 집합이다. 컬렉션 안에 있는 문서는 사원, 제품, 로그 이벤트, 고객 정보처럼 보통은 같은 주제의 정보를 가진 엔터티와 연관되어 있다. 물론 컬렉션에 연관성이 없는 문서를 저장할 수도 있지만 추천하지는 않는다.

가장 기초적인 수준에서 보면 컬렉션은 연관성 있는 문서를 모아 놓은 그룹을 조작할 수 있게 해준다. 사원 레코드의 컬렉션을 관리한다면 startDates 값이 2011년 1월 1일 이전인 모든 사원을 조회하는 것처럼 특정 사원을 찾으려고 컬렉션에 있는 모든 사원 레코드를 뒤져볼 수 있다. 사원 수가 많을 경우 이렇게 처리하면 비효율적인데, 그 이유는 검색 조건과 모든 사원 레코드를 일일이 비교해야 하기 때문이다.

컬렉션은 문서 그룹에서 이런 조작을 더 효율적으로 다룰 수 있는 추가적인 데이터 구조를 지원한다. 예를 들어 인덱스를 사용하면 컬렉션에 있는 모든 문서를 좀 더 효율적으로 스캔할 수 있다. 컬렉션에 있는 인덱스는 이 책의 뒤에 있는 찾아보기와 흡사하다. 찾아보기는 속성(‘키’라는 용어)과 관련된 정보(페이지 수)를 매핑하는 구조화된 정보 집합이다(그림 7-1).

▲ 그림 7-1 인덱스는 키라는 용어 같은 속성을 페이지 수 같은 관련된 정보와 매핑한다. 인덱스를 사용해 검색하는 것이 이 책을 처음부터 끝까지 보면서 키라는 용어가 등장하는 부분을 검색하는 것보다 훨씬 빠르다


컬렉션은 한 그룹에 있는 모든 문서에 쉽게 접근하거나 문서를 쉽게 조작할 수 있도록 비슷한 문서들을 모아 놓은 것이다. 컬렉션은 이러한 문서들을 효율적으로 조작하기 위해 인덱스처럼 추가적인 데이터 구조를 지원하고 있다.

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