반응형
오라클에서 제공하는 테이블 압축 기능은
- 저장 공간을 절약하고 I/O 성능을 향상시키기 위해 데이터를 압축하는 방법으로
- 그 중 기본 테이블 압축(Basic Table Compression)과
- 고급 행 압축(Advanced Row Compression, Advanced Compression)이라는
두 가지 주요 압축 기술이 있음.
■ 기본 테이블 압축 (Basic Table Compression)
- 개요: 기본 테이블 압축은 오라클 9i부터 도입된 기능으로, 데이터를 읽기 전용(혹은 거의 읽기 전용) 상태로 사용할 때 주로 사용.
- 동작 방식: 기본 테이블 압축은 대량의 데이터를 한 번에 로드하거나, **직접 경로 삽입(Direct Path Insert)**을 사용할 때 압축이 적용.
- 예를 들어 INSERT /*+ APPEND */, CREATE TABLE AS SELECT (CTAS) 또는 데이터 이동 작업에서 압축.
- 이미 삽입된 데이터에 대해서는 추가적인 압축이 이루어지지 않으며, 이후 변경(예: UPDATE, DELETE)이 발생하면 압축되지 않은 형태로 저장.
- CREATE TABLE ... COMPRESS BASIC ...; 으로 활성화됨.
- 장점: 주로 읽기 전용 데이터에 대해 공간 절약 효과가 크며, 데이터 압축으로 인해 디스크 I/O가 줄어들어 성능 향상에도 기여. DW 대량 로드에 적합. 블록의 연속 사용 가능 공간 최적화.
- 단점:
- INSERT 이후에 UPDATE와 같은 DML(데이터 조작) 작업이 자주 발생하는 경우, 압축이 해제될 수 있어 실시간 갱신이 필요한 환경에서는 적합하지 않을 수 있음.
- 테이블이 Direct Load를 위해 압축된 경우 열 삭제 불가능.
■ 고급 행 압축 (Advanced Row Compression)
- 개요: 고급 행 압축(Advanced Row Compression)은 오라클 11g에서 처음 도입된 기능으로, OLTP (온라인 트랜잭션 처리) 환경에서도 효과적으로 압축을 사용할 수 있도록 설계. 이전의 기본 압축 방식과 달리 업데이트나 삽입 작업이 발생하는 경우에도 압축이 유지되도록 설계.
- 동작 방식: 고급 행 압축은 테이블에 데이터가 삽입되거나 업데이트될 때마다 데이터가 자동으로 압축. 이는 OLTP 환경에서 효율적으로 사용할 수 있도록 설계된 것으로, 지속적으로 압축이 적용.
- 일반적인 DML 작업(INSERT, UPDATE, DELETE)이 수행되는 동안에도 압축된 형태로 데이터를 유지할 수 있으며, 기존의 기본 압축에 비해 더 높은 유연성과 효율성을 제공.
- CREATE TABLE .. ROW STORE COMPRESS ADVANCED ...;로 활성화.
- OLTP에 최적화.
- 장점:
- 읽기와 쓰기가 모두 빈번한 환경에서도 압축 상태를 유지. 이를 통해 I/O 부하를 줄이고, 저장 공간을 효율적으로 사용할 수 있음.
- 전체 힙 구성 테이블이나 파티션 테이블, 중첩 테이블의 저장 영역에 테이블 압축 지정 가능.
- 단점:
- 고급 압축 기능은 오라클의 고급 압축 라이선스가 필요하며, 기본 압축보다 약간의 추가적인 CPU 자원을 사용.
- 열수가 255개 보다 많은 경우 기본, 고급 모두 압축 불가.
■ 차이점 비교
특징 | 기본 테이블 압축 (Basic Table Compression) | 고급 행 압축 (Advanced Row Compression) |
도입 버전 | 오라클 9i | 오라클 11g |
적용 대상 | 대량의 읽기 전용 데이터 | OLTP 및 갱신이 빈번한 데이터 |
DML 작업 | 업데이트 시 압축 해제 | 업데이트에도 압축 유지 |
사용 목적 | 읽기 전용 또는 거의 변경되지 않는 데이터 | 읽기와 쓰기가 모두 빈번한 환경 |
라이선스 요구 사항 | 없음 (기본 기능) | 오라클 Advanced Compression 옵션 필요 |
성능 | 주로 읽기 성능 향상 | 읽기 및 쓰기 성능 모두 향상 |
■ Compression Advisor 사용
- 객체를 분석하여 서로 다른 압축 방법의 공간 절약 예상치를 제공.
- 응용 프로그램의 올바른 압축 레벨을 결정하는 데 도움.
- 다양한 압축 전략을 제시.
- 특정 데이터 집합에 적합한 압축 알고리즘을 선택.
- 압축률이 높아지도록 특정 열을 정렬.
- 서로 다른 압축 알고리즘 간의 장단점을 제안.
- OLTP 압축(Enterprise Manager 사용)에 유효.
반응형