Oracle Admin 강좌 (Oracle9i)
클러스터(Cluster)란? 6 6 30,797

by 김정식 클러스터 CLUSTER [2002.01.24]


클러스터란 ?

  디스크로부터 데이터를 읽어오는 시간을 줄이기 위해서 조인이나 자주 사용되는 테이블의 데이터를 디스크의 같은 위치에 저장시키는 방법 입니다.

 

클러스터된 테이블과 클러스터 되지 않은 테이블의 차이

  테이블이 처음 생성될 때 행은 일반적으로 세그먼트의 첫 익스텐트의 첫 블록부터 삽입됩니다

  정규 테이블로 저장될 경우 EMP와 DEPT은 서로 다른 세그먼트에 위치하게 됩니다. 이 말은 테이블이 자신들 고유의 블록을 사용한다는 뜻입니다.

  즉, EMP 테이블의 행을 저장하는데 사용된 블록은 DEPT 테이블의 데이터를 저장하지 않습니다. 그 반대의 경우도 마찬가지입니다.

  테이블 EMP와 DEPT의 클러스터로 저장되면 동일 클러스터 세그먼트를 공유하게 됩니다. 이 세그먼트의 블록은 양 테이블의 행을 모두 저장할 수 있습니다.

  테이블이 클러스터로 저장되면 클러스터는 물리적 저장 단위가 되고 테이블은 논리적 엔티티 즉, 클러스터의 일부분이 됩니다.

 

클러스터의 장점

  - 그룹된 컬럼 데이터 행들이 같은 데이터 Block에 저장되기 때문에 디스크 I/O를 줄여 줍니다.

  - 클러스터된 테이블 사이에 조인이 발생할 경우 그 처리 시간이 단축 됩니다.

  - 클러스터키 열을 공유하여 한번만 저장하므로 저장 영역의 사용을 줄입니다.

 

테이블 클러스터링의 특징

  클러스터는 데이터 조회 성능을 향상 시키지만 데이터 저장, 수정, 삭제 또는 한 테이블 전체 Scan의 성능을 감소 시킵니다

클러스터 하기 좋은 테이블
  • - 주로 조회가 자주 발생하고 수정이 거의 발생하지 않는 테이블
  • - 컬럼안의 많은 중복 데이터를 가지는 테이블
  • - 자주 Join되는 테이블

클러스터 Key가 되기 좋은 컬럼
  • - 데이터 값의 범위가 큰 컬럼
  • - 테이블 간의 조인에 사용되는 컬럼

클러스터 key가 되기 나쁜 컬럼
  • - 특정 데이터 값이 적은 컬럼
  • - 자주 데이터 수정이 발생하는 컬럼
  • - LONG, LONG RAW 컬럼은 포함할 수 없습니다.

참고링크

- 강좌 URL : http://www.gurubee.net/lecture/1114

- 구루비 강좌는 개인의 학습용으로만 사용 할 수 있으며, 다른 웹 페이지에 게재할 경우에는 출처를 꼭 밝혀 주시면 고맙겠습니다.~^^

- 구루비 강좌는 서비스 제공을 위한 목적이나, 학원 홍보, 수익을 얻기 위한 용도로 사용 할 수 없습니다.

by strawberry [2004.11.13 01:07:05]
레포트하는데 도움이 많이 되었어요 ^^ 그냥 단순히 클러스터만 검색하면 딴것만 자꾸 나왔는데;; 여긴 정리가 참 잘되었네요 ㅋㅋ 앞으로도 자주 올게요 ^^

by 사도 [2006.01.04 10:43:39]
음.. 정말 정리가 잘되어있네요.. 많은 도움이 됩니다.. ^^

by DB지기 [2006.02.01 00:02:21]
쥔장님 질문요..위에 글 내용중에 ....정규테이블인 EMP와 DEPT은 서로 다른 세그먼트에 있다고 했는데 여기서 세그먼트는 물리적으로 부르는 명칭이라고 생각해야 돼나요???
요지는 기존오라클에서 논리적으로 데이타세그먼트,인뎃스세그먼트,롤백세그먼트,템프세그먼트 이렇게 세그먼트라는 용어가 있는데 위 강좌에서도 세그먼트가 나온걸 보고 질문 드립니다.

by DB지게 [2006.05.04 11:40:06]
오타발견...!!
"클러스터 Key가 되지 좋은 컬럼"... ㅡㅡ;;

by 돌이맹이 [2012.02.27 15:25:51]
잘 보았습니다.

by 손님 [2012.10.19 15:29:41]

o
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입