큐브리드 볼륨의 구조
.영구 볼륨 ( Permanent Volume ) 의 타입
.Generic Volume : 범용
.Data Volume : 데이터
.Temp Volume : 임시
.Index Volume : 인덱스
.Active Log : 활성 로그
.Archive Log : 보관 로그
.Control :제어
.일시적 임시 볼륨 ( Temporary Volume )
.백업 볼륨 ( Backup Volume )
1.영구적 볼륨
한번 생성되면 영구적으로 존재하는 데이터베이스 볼륨으로서, 볼륨 타입으로는
범용,데이터,임시,인덱스,제어,활성 로그,보관 로그 가 있다.
1-1. 범용
개발자는 데이터베이스에 추가할 볼륨 타입을 데이터/임시/인덱스 중 하나의 용도로
지정하여 효율적으로 관리할 수 있는데, 별도로 데이터 용도를 지정하지 않는 경우에는
범용 볼륨으로 지정된다.
그럼 아래처럼 구성 할 수도 있다는 뜻으로 해석하자.
범용 / 제어 / 활성 로그 / 보관 로그
1-2. 데이터
인스턴스 / 테이블 / 멀티미디어 데이터 등과 같은 데이터를 저장하기 위해 지정된다.
1-3. 임시
질의 처리 및 정력(sorting)을 수행할 때 일시적으로 사용되는 불륨이다.
다만, 영구적으로 공간을 확보한 영구 볼륨이고 임시적으로 데이터가 저장 및 소멸되는
것을 의미한다. 따라서 큐브리드가 재시작하면 임시 볼륨 공간 내의 데이터는 초기화되고,
이에 관해 로그 정보는 남기지 않는다.
1-4. 인덱스
신속한 질의 처리 또는 무결성 제약 조건의 신속한 검증을 위하여 인덱스 정보를 유지한다.
1-5. 제어
데이터 베이스 내에 존재하는 볼륨의 정보, 백업 정보, 로그 정보를 저장하고 있다.
1-5-1. 볼륨 정보 파일: 볼륨 이름 / 볼륨 위치 / 볼륨 식별자 정보를 가지고 있다.
큐브리드는 볼륨이 추가되면 추가된 보륨의 구조 정보를 여기에 기록한다.
1-5-2. 백업 정보 파일: 정보 볼륨(?? 데이터 볼륨?)에 대한 모든 백업의 위치가 기록되고,
해당 파일은 로그 파일이 관리되는 곳에 유지된다.
1-5-3. 로그 정보 파일: 모든 활성/보관 로그의 이름을 포함하며,개발자는 해당 파일을 통해 로그
정보를 확인할 수 있다.
해당 파일은 로그 파일과 동일한 위치에서 생성 및 관리된다.
위와 같이 각각의 제어 파일은 데이터 베이스가 재시작하면서 읽는 파일이므로 사용자 임의로
변경해서는 안 된다.
1-6. 활성 로그
데이터 베이스의 최근 변경 사항을 포함하는 로그이다.
데이터 베이스에 문제가 발생한 경우에 활성 로그 및 보관 로그를 이용하여 고장 발생 전의 커밋된
시점으로 완전하게 복구 할 수 있다.
1-7. 보관 로그
활성 로그 공간이 모두 사용된 후에 지속적으로 생성되는 로그를 보관하기 위한 볼륨이다.
활성 로그 공간이 소진된 후에 비로소 보관 로그 볼륨이 이용된다.
보관 로그 볼륨은 자동 소멸하지 않으므로 불필요한 보관 로그는 시스템의 설정에 의해
삭제되어야 한다. ( 시스템 설정으로 삭제 옵션을 줄 수 있다는 내용인것 같다.)
1.7.1. 백그라운드 보관 로그 : 백그라운드에서 로그 보관 작업을 수행할때 사용한는 볼륨이다.
2. 일시적 볼륨
영구적 볼륨과는 반대의 의미로 사용자가 영구적 볼륨으로 지정한 공간을 초과하여 데이터가
축적되는 경우에만 일시적으로 마련되는 저장 공간을 일시적 볼륨이라고 한다.
이것은 서버가 종료되면 같이 자동으로 소멸된다.
2-1. 일시적 임시 볼륨
영구적 임시 볼륨으로 지정된 공간 외에 추가공간이 필요한 경우 시스템이 일시적으로 생성하는
볼륨이다. 따라서 DBA가 데이터베이스 운영상황을 고려하여 적절한 크기의 영구적 임시 볼륨을
추가하면 성능상 유리하다.
일시적 임시 볼륨은 한 번 생성되면 데이터베이스를 재시작하기 전까지 유지되며,
영구적 임시 볼륨은 한 번 늘어난 크기는 줄어들지 않는다.
일시적 임시 볼륨의 크기가 지나치게 커지면 데이터베이스를 재시작하여 일시적 임시 볼륨이 자동
으로 삭제되도록 하는 것이 좋다. 일시적 임시 볼륨을 수동으로 삭제해서는 안된다.
일시적 임시 볼륨은 조인/정렬/인덱스 생성할 때 필요한 디스크 공간을 확보하는 경우에 생성되며,
질의의 예로는 group by / order by / sub query / sort -merge 조인이 수행되는 질의 /
create index가 포함된 질의 등이 있다.
일시적 임시 볼륨의 파일명 : [db_name]_t[num]
[db_name] : 데이터 베이스 이름 ex) testDB
[num] : 볼륨 식별자 ( 32766 에서 1씩 감소 ) ex) 32766
testDB_t32766
일시적 임시 볼륨의 크기 설정 : 트랜잭션 처리에 필요한 공간의 크기에 따라 시스템이 생성 개수를
결정한다.
개발자가 cubrid.conf의 temp_file_max_size_in_page 파라미터의 값을
설정함으로써 제한할 수 있다.
cubrid.conf의 temp_file_max_size_in_page 파라미터의 값을 0으로 설정되면 영구적 임시 볼륨이 소진되어도 일시적 임시 볼륨이 생성되지 않는다.
일시적 임시 볼륨의 저장 위치 설정 : 기본적으로 첫 번째 데이터베이스 볼륨이 생성된 위치에 생성된다.
개발자가 temp_volume_path파라미터 값을 설정하여 제어할 수 있다.
3.백업 볼륨
데이터베이스에 대한 스냅샷으로서, 백업 볼륨과 로그 볼륨을 기반으로 특정 시점까지 발생한 트랜잭션
을 복구할 수 있다.
개발자는 큐브리드 backupdb 유틸을 이용해 데이터베이스 복구를 위해 필요한 모든 데이터를
복사할 수 있으며, cubrid.conf의 backup_volume_max_size_bytes 파라미터 값을 설정하여
백업 볼륨의 분할 크기를 조정할 수 있다.
'나는 엔지니어 > CUBRID' 카테고리의 다른 글
인터페이스 모듈 (0) | 2012.05.25 |
---|---|
데이터베이스 서버 (0) | 2012.05.25 |
정리를 시작하며.... (0) | 2012.05.24 |