Open Source RDBMS - Seamless, Scalable, Stable and Free

한국어 | Login |Register

Versions available for this page: CUBRID 8.2.1 |  CUBRID 8.3.0 |  CUBRID 8.3.1 |  CUBRID 8.4.0 | 

분할이란?

분할 기법(partitioning)은 하나의 테이블을 여러 독립적인 논리적 단위로 분할하는 기법이다. 분할 기법에서 사용하는 분할된 단위를 분할(partition)이라 한다. 분할은 주로 관리의 편의(manageability), 성능(performance), 가용성(availability)의 목적으로 사용한다. 분할을 적용함으로써 얻을 수 있는 효과는 다음과 같다.

  • 대용량 테이블의 관리 향상
  • 데이터 조회 시 접근 범위를 줄임으로써 성능 향상
  • 디스크 I/O를 분산함으로써 성능 향상 및 물리적 부하 감소
  • 여러 분할로 나눔으로써 전체 데이터의 훼손 가능성 감소 및 가용성 향상
  • 스토리지 비용의 최적화

CUBRID는 영역 분할(Range Partitioning), 해시 분할(Hash Partitioning), 리스트 분할(List Partitioning)의 세 가지 분할을 제공한다.

한 테이블이 가질 수 있는 최대 분할 수는 1024이다. 테이블의 각 분할은 그 테이블의 서브 테이블로 생성된다. 분할 정의를 통해 생성된 서브 테이블은 사용자가 임의로 내용을 변경하거나 삭제할 수 없다. 서브 테이블의 이름은 'class_name__p__partition_name'의 형식으로 시스템 테이블에 등록된다. 데이터베이스 사용자는 db_class 뷰와 db_partition 뷰에서 분할의 정보를 확인할 수 있다. 또 다른 확인 방법은 CUBRID 매니저나 CSQL 인터프리터의 ;sc <테이블명> 명령을 사용하는 것이다.