클러스터 설계

최대 1 분 소요

클러스터의 개요

클러스터는 데이터 저장 시 데이터 엑세스 효율을 향상시키기 위해 동일한 성격의 데이터를 동일한 데이터 블록에 저장하는 물리적 저장 방법이다.

  • 클러스터링키로 지정된 컬럼 값의 순서대로 저장되고, 여러 개의 테이블이 하나의 클러스터에 저장된다.


특징

  • 클러스터링 된 테이블은 데이터 조회 속도는 향상시키지만 데이터 입력, 수정, 삭제에 대한 성능은 저하시킨다.
  • 클러스터는 데이터의 분포도가 넓을수록 유리하다.
  • 데이터 분포도가 넓은 테이블을 클러스터링 하면 저장 공간을 절약할 수 있다.
  • 클러스터링된 테이블은 클러스터키 열을 공유하므로 저장 공간이 줄어든다.
  • 대용량을 처리하는 트랜잭션은 전체 테이블을 스캔하는 일이 자주 발생하므로 클러스터링을 하지 않는 것이 좋다.
  • 처리 범위가 넓은 경우에는 단일 테이블 클러스터링을, 조인이 많이 발생하는 경우에는 다중 테이블 클러스터링을 사용한다.
  • 파티셔닝 된 테이블에는 클러스터링을 할 수 없다.
  • 클러스터링을 하면 비슷한 데이터가 동일한 데이터 블록에 저장되기 때문에 디스크 I/O가 줄어든다.
  • 클러스터링된 테이블에 클러스터드 인덱스를 생성하면 접근 성능이 향상된다.


클러스터 대상 테이블

  • 분포도가 넓은 테이블
  • 대량의 범위를 자주 조회하는 테이블
  • 입력, 수정, 삭제가 자주 발생하지 않는 테이블
  • 자주 조인되어 사용되는 테이블
  • ORDER BY, GROUP BY, UNION이 빈번한 테이블