더북(TheBook)

샤드 키로 데이터 분리하기

샤드 키는 문서를 분리하기 위한 컬렉션의 모든 문서에 있는 하나 이상의 키나 필드를 말한다. 다음과 같은 문서에 있는 필드를 샤드 키로 사용할 수 있다.

고유한 문서 ID

이름

생성 일자 같은 날짜

카테고리나 유형

지리적 지역 정보

Note 문서 데이터베이스가 스키마리스 데이터베이스인데도 문서 데이터베이스의 일부 요소는 관계형 데이터베이스의 스키마와 유사한 것이 있다. 인덱스가 그 중 하나다. 인덱스는 관계형 데이터베이스에서 물리적인 데이터 모델의 일부로, 엄연히 하나의 데이터 구조다. 또한 스키마의 일부분이다. 문서 데이터베이스 같은 스키마리스 데이터베이스도 인덱스와 비슷한 객체가 있다. 문서 데이터베이스에서 읽기 작업의 속도를 향상시킬 수 있고 샤딩을 구현할 때도 유용하게 쓰인다. 한 컬렉션에 있는 모든 문서는 하나의 샤드 속에 들어가야 하므로 모든 문서에 샤드 키가 있다는 것은 중요한 사실이다.

샤드 키는 문서를 묶어 서로 다른 샤드로 넣을 때 사용하는 값을 명시한다. 파티셔닝 알고리즘에서는 입력값으로 샤드 키를 사용하고 이 키에 적당한 샤드를 할당한다(그림 7-10).

▲ 그림 7-10 샤드 키는 샤드를 산출하는 파티셔닝 알고리즘의 입력값으로 사용된다

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