더북(TheBook)

문서 데이터베이스 모델러는 무엇을 해야 할까?

문서 데이터베이스 모델러는 데이터 모델링을 할 때 대부분의 관계형 데이터베이스 모델러와 다른 접근 방식을 사용한다. 문서 데이터베이스 모델러와 애플리케이션 개발자는 확장성과 유연성, 혹은 이 둘 모두를 위해 문서 데이터베이스를 사용할 것이다. 이들에게도 데이터 이상현상을 피하는 것이 여전히 중요하지만 확장성과 유연성을 얻는 것에 더 많은 신경을 쓸 것이다.

예를 들어 데이터베이스에 여분의 고객 주소 복사본이 있다면 애플리케이션 개발자는 한 주소에 대한 모든 복사본을 갱신하는 고객 주소 갱신 함수를 만들 것이다. 이 개발자는 데이터 이상현상을 방지하려고 항상 이 함수를 사용해 주소를 갱신할 것이다. 곧 보게 될텐데, 개발자는 문서 데이터베이스에서 데이터 이상현상을 피하려고 더 많은 코드를 작성하겠지만 결국 데이터베이스 튜닝과 질의 최적화에는 그만큼 신경을 덜 쓰게 될 것이다.

그럼 어떻게 해야 문서 데이터베이스 모델러들과 애플리케이션 개발자들이 더 나은 성능을 얻을 수 있을까? 조인에 대한 요구를 최소화하면 된다. 이를 비정규화denormalization라고 한다. 비정규화된 데이터 모델의 기본적인 사상은 관계형 데이터베이스의 테이블이나 문서 데이터베이스의 문서 같은 단일 데이터 구조에 함께 사용되는 데이터를 저장해 놓는 것이다.

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