더북(TheBook)

만약 이 이미지 속성과 이미지 객체가 같은 테이블에 저장되어 있다면 디스크에 저장된 데이터의 배치때문에 속성을 읽으면 이미지도 같이 읽게 된다. 이미지 테이블을 이미지 속성 테이블과 이미지 객체 테이블로 분리하면 데이터베이스는 애플리케이션이 필요한 데이터를 효율적으로 가져다 줄 것이다(그림 7-8).

▲ 그림 7-8 컬럼을 분할해 독립적인 테이블로 만들면 읽기 효율성이 향상된다. 필요하지 않은 데이터(예를 들어 이미지 객체)가 필요한 데이터(예를 들어 이미지 속성)와 함께 조회되지 않기 때문이다


수직 파티셔닝은 문서 데이터베이스 시스템보다 관계형 데이터베이스 시스템에서 더 빈번히 사용된다. 비관계형 데이터베이스에서 수직 파티셔닝을 구현하는 방법이 있지만, 이보다는 수평 파티셔닝이나 샤딩sharding이 더 많이 쓰인다.

Note International Journal of Advanced Research in Computer and Communication Engineering 2, no. 8 (2013.08)에 실린 카우어(J. Kaur)가 쓴 <A New and Improved Vertical Partitioning Scheme for Non-Relational Databases Using Greedy Method>에 샤딩에 관한 예가 나와 있다.

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