OS환경 : Oracle Linux6.8(64bit)
DB 환경 : Oracle Database 11.2.0.4
설명 : 오라클 클러스터란 ?
디스크로부터 데이터를 읽어오는 시간을 줄이기 위해서 조인이나 자주 사용되는 테이블의 데이터를 디스크의 같은 위치에 저장시키는 방법
클러스터된 테이블과 클러스터 되지 않은 테이블의 차이
- 테이블이 처음 생성될 때 행은 일반적으로 세그먼트의 첫 익스텐트의 첫 블록부터 삽입됨
- 정규 테이블로 저장될 경우 EMP와 DEPT은 서로 다른 세그먼트에 위치하게됨, 이 말은 테이블이 자신들 고유의 블록을 사용한다는 뜻
- 즉, EMP 테이블의 행을 저장하는데 사용된 블록은 DEPT 테이블의 데이터를 저장하지 않음. 그 반대의 경우도 마찬가지
- 테이블 EMP와 DEPT의 클러스터로 저장되면 동일 클러스터 세그먼트를 공유하게 됨
- 이 세그먼트의 블록은 양 테이블의 행을 모두 저장할 수 있음
- 테이블이 클러스터로 저장되면 클러스터는 물리적 저장 단위가 되고 테이블은 논리적 엔티티 즉, 클러스터의 일부분이 됨
클러스터의 장점
- 그룹된 컬럼 데이터 행들이 같은 데이터 Block에 저장되기 때문에 디스크 I/O를 줄여줌
- 클러스터된 테이블 사이에 조인이 발생할 경우 그 처리 시간이 단축됨
- 클러스터키 열을 공유하여 한번만 저장하므로 저장 영역의 사용을 줄임
테이블 클러스터링의 특징
클러스터는 데이터 조회 성능을 향상 시키지만 데이터 저장, 수정, 삭제 또는 한 테이블 전체 Scan의 성능을 감소 시킴
클러스터 하기 좋은 테이블
- 주로 조회가 자주 발생하고 수정이 거의 발생하지 않는 테이블
- 컬럼안의 많은 중복 데이터를 가지는 테이블
- 자주 Join되는 테이블
클러스터 Key가 되기 좋은 컬럼
- 데이터 값의 범위가 큰 컬럼
- 테이블 간의 조인에 사용되는 컬럼
클러스터 key가 되기 나쁜 컬럼
- 특정 데이터 값이 적은 컬럼
- 자주 데이터 수정이 발생하는 컬럼
- LONG, LONG RAW 컬럼은 포함할 수 없음
참조 : http://www.gurubee.net/lecture/1114
'ORACLE > Admin' 카테고리의 다른 글
오라클 create table 구문 옵션별 설명 (0) | 2018.12.12 |
---|---|
오라클 sqlplus startup시 로깅 방법 (0) | 2018.12.11 |
Oracle Database 18c Technical Architecture (5) | 2018.12.10 |
deadlock 발생 테스트 ORA-00060 (0) | 2018.12.06 |
오라클 ocr이란? vote란? (0) | 2018.11.26 |