더북(TheBook)

정규화normalization는 데이터 이상현상이 발생할 기회를 줄이는 데 유용한 기법이다. 비정규화도 다른 이유로 유용하다. 특히, 비정규화는 질의 성능을 향상시킬 때 사용된다. 관계형 데이터베이스 모델러들이 정규화를 채택하는 것처럼 문서 데이터베이스를 사용할 때 데이터 모델러들과 개발자들은 비정규화를 채택하는 경우가 많다.

Tip 정규화와 비정규화 사이에서 올바른 균형을 잡게 해주는 시금석 역할을 하는 것이 바로 질의다. 너무 한 쪽으로만 치우치면 성능에 악영향을 줄 수 있다. 너무 많은 정규화를 하면 질의할 때 조인이 필요하다. 너무 많은 비정규화는 스토리지에서 중복 데이터를 읽게 되고 또 다른 역효과를 낼 수 있다.

문서와 컬렉션을 설계할 때 염두해야 할 또 다른 고려사항이 있는데, 바로 문서의 크기 변화다. 크기가 변할 확률이 높은 문서를 가변적 문서라고 한다.

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