ORACLE/11G2009. 4. 2. 15:31
반응형

Oracle Advanced Compression

 

 

도입

 

효과적인 사업 운영에 필요한 데이터 용량의 폭발적 증가로 기업이 골치를 앓고 있 습니다. 이런 데이터 증가 추세의 원인으로 몇 가지 중대한 요인을 들 수 있습니다. 우선, 사베인스 옥슬리와 HIPP 등 최근에 분 규제 환경의 변화가 이런 추세를 일으 키고 있습니다. 그러면서 방대한 정보를 장기간 보유하도록 기업에 요구하고 있습니 다. 광대역 기술의 발전으로 가능해진 리치 멀티미디어 컨텐츠의 인터넷 대량 배포 역시 전체 데이터 용량의 증가에 한몫 하고 있습니다. 기하급수적인 데이터 증가 추 세를 더욱 촉발시킨 것은 웹 2.0의 도래입니다. 웹 2.0에서는 협업 애플리케이션이 엄청난 양의 사용자 생성 컨텐츠(UGC)를 선전합니다. 여러 자료를 살펴 보면 데이 터 용량이 2-3년마다 거의 두 배로 증가하고 있습니다.

 

이같은 데이터 용량의 급격한 증가는 IT 관리자에게 위협적인 관리 문제를 던져줍 니다. 무엇보다 가장 큰 문제는 스토리지 비용의 상승입니다. MB당 스토리지 비용 이 지난 몇 년간 큰 폭으로 떨어지고 있긴 하지만, 온라인에 보관해야 하는 데이터 용량이 엄청나게 증가하면서 스토리지가 IT 예산의 최대 지출 항목이 되었습니다. 게다가 데이터 용량이 급증하는데 따른 애플리케이션의 확장성과 성능도 지속적으 로 사업상 요구에 맞춰 증가해야 합니다.

 

Oracle Database 11g는 Advanced Compression 옵션을 도입하여 고객이 이 문제 에 대처할 수 있게 지원합니다. 오라클 압축 기술의 혁신 덕택에 고객은 대량의 데이 터 관리에 따르는 자원과 비용을 절감할 수 있습니다. 한때는 신기하게 생각했던 테 라바이트 규모의 데이터베이스가 기업 데이터 센터에 널리 확산되고 있어 이같은 신기술의 도입은 시기 적절합니다.

 

Oracle Advanced Compression

 

Oracle Database 11g의 Advanced Compression 옵션은 고객이 자원 활용을 극대 화하고 비용을 절감할 수 있게 지원하는 광범위한 압축 기능 세트를 가지고 있습니 다. 정규 관계형(체계화) 데이터, 비체계화 데이터 (문서, 스프레드시트 등), 백업 데 이터를 비롯한 모든 데이터 유형의 압축을 지원하므로 IT 관리자는 전체 데이터베 이스 저장 용량을 크게 줄일 수 있습니다. 그리고 사람들은 압축의 가장 확실한 이점 이 스토리지 비용의 감소라고 생각하지만, Advanced Compression 옵션에 포함된 혁신적인 기술들은 메모리와 네트워크 대역폭을 비롯하여 IT 인프라의 모든 구성요 소에 대한 자원 요구와 기술 비용을 낮출 수 있게 고안되어 있습니다.

 

관계형 데이터의 압축

 

오라클은 데이터베이스 압축 기술 도입의 선구자 중 하나입니다. Oracle Database 9i는 Direct path loading 과 CREATE TABLE AS SELECT…(CTAS) 등의 대량 로딩 작업 중에 데이터를 압축할 수 있게 해주는 테이블 압축을 여러 해 전에 도입했 습니다. 이런 압축 형태는 일괄 처리를 통해 데이터베이스에 대부분의 데이터를 로 딩하는 데이터웨어하우징 환경에 가장 적합했습니다. Oracle Database 11g는 OLTP 테이블 압축이라는 새로운 기능을 도입하고 있는데, 이는 INSERT, UPDATE, DELETE와 같이 전통적인 DML (데이터 조작어)을 포함하여 모든 유형 의 데이터 조작 작업 중에 데이터를 압축할 수 있는 기능입니다. 또한 이 기능은 쓰 기 작업의 오버헤드를 낮춰서 성능을 크게 향상시키기 때문에 데이터웨어하우징 환 경이나 OLTP 환경에도 적합합니다. 이 획기적인 신기능은 모든 애플리케이션 작업 에 압축의 이점을 제공합니다.

 

Oracle Database 9i에 도입된 테이블 압축 기능이Enterprise Edition (EE)의 기본 기능이며 Database 11g에서도 기본 기능이라는 데 주목할 필요가 있습니다. 하지만 새로운 OLTP 테이블 압축 기능은 엔터프라이즈 에디션에 추가로 라이센스를 받아 야 하는 Oracle Advanced Compression 옵션의 일부입니다.

 

혁신적인 알고리즘

 

오라클은 관계형 데이터와 함께 실행할 수 있게 특별 설계된 고유한 압축 알고리즘 을 사용합니다. 이 알고리즘을 실행하면 데이터베이스 블록 내부에서, 그것도 여러 줄(column)을 가로지르며 중복 값을 제거합니다. 압축 블록에는 압축 메타데이터를 보존하는 심볼 테이블(symbol table)이란 구조가 있는데, 블록을 압축할 때 제일 먼 저 중복 값의 복사본 하나를 심볼 테이블에 추가하여 중복 값을 제거합니다. 그런 다 음 각 중복 값을 심볼 테이블의 해당 항목에 대한 짧은 참조로 대체합니다. 압축 데 이터를 원상태로 바꾸는 데 사용하는 메타데이터가 블록 내부에 들어 있기 때문에, 이 혁신적 설계의 압축 데이터는 데이터베이스 블록 내부에 독립적으로 존재합니다. 전역 데이터베이스 심볼 테이블을 유지하는 경쟁 압축 알고리즘과 비교할 때, 압축 데이터 이용 시 추가 I/O를 도입하지 않는 오라클의 고유한 방식이 이롭습니다.

 

 

그림 1. 압축 블록 對비압축 블록

 

테이블 압축의 이점

 

일정 환경에서 추출한 압축비는 압축하는 데이터의 성향, 특히 데이터의 개체 수에 따라 달라집니다. 일반적으로, 테이블 압축 기능을 이용하여 고객이 압축 데이터의 저장 공간 사용을 2-3배 줄일 수 있다고 예상할 수 있습니다. 즉, 비압축 데이터가 사용하는 공간 용량이 압축 데이터의 그것보다 2-3배 많아지게 됩니다. 압축의 이 점은 단순히 디스크 저장 공간의 절약에 그치지 않습니다. 처음에 블록의 압축을 해 제하지 않고도 오라클이 압축 블록을 직접 읽을 수 있다는 것이 한 가지 중요한 장점 입니다. 그래서 압축 데이터를 이용해도 눈에 띄는 성능 저하가 없습니다. 사실, 많 은 경우 이용하는 블록 수가 줄기 때문에 I/O 감소로 인해 성능이 향상될 수도 있습 니다. 게다가, 메모리 공간을 늘리지 않고도 캐시에 더 많은 데이터를 저장할 수 있 어 버퍼 캐시의 효율성이 높아질 수 있습니다.

 

최소 성능 오버헤드

 

앞서 설명했듯이, 테이블 압축 기능은 읽기 작업에 악영향을 끼치지 않습니다. 그러 나 데이터 작성 시에는 쓰기 작업에 대한 성능 오버헤드가 제거되는 것이 불가피한 반면 압축 시에는 추가 작업이 필요합니다. 하지만 오라클은 OLTP 테이블 압축에 대한 오버헤드를 최소화하기 위해 많은 연구를 했습니다. 오라클은 쓰기 작업이 발 생할 때마다 데이터를 압축하기보다는 일괄 방식으로 블록을 압축합니다. 새롭게 초 기화된 블록은 블록의 데이터가 내부에서 통제되는 임계에 도달할 때까지 압축되지 않고 그대로 있습니다. 트랜잭션으로 인해 블록 내 데이터가 이 임계에 도달하면, 해 당 블록의 모든 컨텐츠가 압축됩니다. 이후 더 많은 데이터가 블록에 추가되어 다시 임계에 도달하면 블록 전체가 재압축되면서 압축 수준이 최고 수준에 이르게 됩니 다. 더 이상 압축하면 블록에 이로울 수 없다고 오라클이 판단할 때까지 이 프로세스 가 반복됩니다. 블록의 압축을 유발하는 트랜잭션만 압축 오버헤드가 최소화 됩니 다. 때문에 압축된 블록에 있는 대부분의 OLTP 트랜잭션이 압축되지 않은 블록의 트랜잭션과 동일한 성능을 갖게 되는 것입니다.

 

그림 2. 블록 압축 프로세스

 

비체계화 데이터의 압축

 

Oracle Database 11g의 새로운 기능인 SecureFiles는 문서, 스프레드시트 및 XML 파일과 같은 비체계화 컨텐츠의 저장에“두 세계의 최고 장점”을 지닌 아키텍처를 지원합니다. SecureFiles 은 오라클 데이터베이스의 장점을 모두 갖고 있으면서 전 통적인 시스템과 비교하여 파일 데이터에 대해 뛰어난 성능을 구현하도록 특별 설 계되어 있습니다. SecureFiles는 ANSI 표준 대형 객체(LOB)의 수퍼세트 용으로, 기존의 LOB나 베이직 파일 (BasicFiles)에서 수월하게 마이그레이션할 수 있게 지 원합니다. 이제 IT 조직들은 SecureFiles 로 오라클의 관계형 데이터와 관련 파일 데이터 모두를 관리할 수 있습니다. Oracle Database 11g의 Advanced Compression 옵션에는 SecureFiles 데이터의 저장 공간을 크게 감소시키는 기술이 적용되어 있습니다.

 

SecureFiles 복제

 

애플리케이션에서 똑같은 파일 사본을 저장하는 일은 매우 흔합니다. 한 가지 일반 적인 예가 이메일 애플리케이션입니다. 이메일 애플리케이션에서는 사용자가 똑같 은 첨부 파일을 수신할 수 있습니다. SecureFiles 복제는 SecureFiles 데이터의 복 사본을 제거하는 지능형 기술입니다. 오라클은 SecureFiles 데이터의 한 이미지를 저장하고서 복사본을 이 이미지의 참조로 대체합니다. 10명의 사용자가 1MB의 똑 같은 파일이 첨부된 이메일을 받는 이메일 애플리케이션에 대해 생각해 보십시오.

 

SecureFiles 복제가 없다면 시스템에서 10명의 사용자 한명 한명에 대해 파일 사본 을 하나씩 저장할 것이고 그러면 10MB의 저장 공간이 필요할 것입니다. 이 경우 이 메일 애플리케이션에서 SecureFiles 복제 기술을 사용했다면, 1MB의 첨부 파일을 한번만 저장하면 됐을 것입니다. 그러면 스토리지 요구량이 90% 절약될 것입니다. 스토리지 절약 외에 SecureFiles 복제 기술은 애플리케이션 성능을 높이기도 합니다. 구체적으로 말해서, SecureFiles 이미지의 참조만 작성하기 때문에 쓰기와 복사 작업의 효율성이 높아집니다. 게다가, 똑같은 SecureFiles 데이터가 이미 버퍼 캐시 에 존재하면, 읽기 작업이 향상될 수도 있습니다.

 

그림 3. SecureFiles 복제

 

SecureFiles 압축

 

Oracle Database 11g의 Advanced Compression 옵션은 SecureFiles 데이터의 크 기를 제어하는 또 다른 메카니즘을 제공합니다. 앞서 논의한 복제 외에, SecureFiles 압축(SecureFiles Compression)은 업계 표준의 압축 알고리즘을 활용하여 SecureFiles 데이터의 스토리지 요구량을 더욱 최소화합니다. 문서나 XML 파일과 같은 일반 파일을 압축하면 크기가 2-3배 줄어듭니다. 내장된 지능형 기술을 이용 하는 SecureFiles 압축은 압축의 이점이 없는 데이터의 경우 압축을 피합니다. SecureFiles 자격으로 데이터베이스에 끼워 넣기 전에 타사 도구를 통해 압축된 문 서가 그 예입니다.

 

현재 지원하는 압축 수준은 두 종류이며, 그 중 높은 쪽의 경우 압축률이 높지만 대 신 CPU 사용이 더 많이 요구됩니다. SecureFiles 압축의 일반적인 CPU 오버헤드는 3%와 5% 사이입니다. 애플리케이션에서는 압축된 SecureFiles 데이터에 대한 무 작위 읽기/쓰기를 여전히 수행할 수 있습니다. 압축된 데이터가 더 작은 크기의 데이 터로 분해되기 때문입니다. 이렇게 하면, 전체 파일을 데이터베이스에 끼워 넣기 전 에 압축할 때와 비교하여 성능을 크게 향상시킬 수 있습니다.

 

백업 데이터의 압축

 

데이터베이스 내부에 저장된 데이터를 압축하는 것 외에, Oracle Advanced Compression은 백업 데이터를 압축하는 기능도 있습니다. Recovery Manager (RMAN)와 Data Pump는 오라클 데이터베이스에 저장된 데이터를 백업할 때 가장 많이 사용하는 도구 두 가지입니다. RMAN은 데이터베이스 데이터를 블록별로 백 업하는데, 이를 일명“물리적”백업이라고 합니다. 이 물리적 백업은 데이터베이스, 테이블 공간 또는 블록 단위 복구를 수행할 때 사용할 수 있습니다. 반면, Data Pump는“논리적”백업을 수행할 때 사용하며, 하나 이상의 테이블에 있는 데이터를 플랫 파일(flat file)에 오프로딩합니다. Oracle Advanced Compression은 두 도구 중 하나에 의해 생성된 백업 데이터를 압축하는 기능이 있습니다.

 

Data Pump 압축

 

Data Pump와 관련된 메타데이터를 압축하는 기능은 Oracle Database 10g Release 2에서 제공합니다. Oracle Database 11g에서는 내보내기할 테이블 데이터를 압축 할 수 있도록 이 압축 기능을 확장했습니다. Data Pump 압축은 인라인 작업이므로파일 크기가 감소하면 디스크 공간이 크게 절약됩니다. 운영 체제나 파일 시스템의 압축 유틸리티와 달리, Data Pump 압축은 가져오기 측면에서 볼 때 완전히 인라인 방식입니다. 따라서 덤프 파일(dump file)을 가져오기 전에 압축을 해제하지 않아도 됩니다. 압축된 덤프 파일 집합은 데이터베이스 관리자가 추가 절차를 밟지 않아도 가져오기 작업 중에 자동으로 압축이 풀립니다.

 

오라클 샘플 데이터베이스에 있는 다음의 압축 예에서, 모든 데이터와 메타데이터를 동시에 압축하면서 OE 및 SH 스키마를 내보냈습니다. 그 결과, 덤프 파일의 크기가 74.67% 감소했습니다.

 

3가지 버전의 gzip (GNU zip) 유틸리티와 한 가지 UNIX 압축 유틸리티를 6.0MB의 덤프 파일 집합을 압축하는 데 사용했습니다. 덤프 파일 크기의 감소가 Data Pump 압축과 비슷했습니다. 덤프 파일 크기의 감소폭은 데이터 유형과 기타 요인에 따라 달라진다는 점에 유의하십시오.

 

압축 파일을 이용하여 Data Pump 기능을 충분히 사용할 수 있습니다. 정규 파일에 서 사용하는 모든 명령어는 압축 파일에서도 효력을 발휘합니다. 덤프 파일 집합에 서 어떤 부분을 압축해야 할지는 사용자가 다음의 옵션으로 결정할 수 있습니다.

• ALL: 모든 내보내기 작업의 압축을 지원합니다.

• DATA-OLNY: 모든 데이터가 덤프 파일에 압축 포맷으로 작성됩니다.

• METADATA-ONLY: 모든 메타데이터가 덤프 파일에 압축 포맷으로 작 성됩니다. 이것이 기본값입니다.

• NONE: 전체 내보내기 작업의 압축을 사용 안 함으로 합니다.

Recovery Manager 압축

 

기업 데이터베이스의 지속적인 팽창은 데이터베이스 관리자에게 커다란 도전입니 다. 데이터베이스 백업을 보존하는 스토리지 요구량과 백업 절차의 수행은 데이터베 이스 크기의 영향을 직접적으로 받습니다. 오라클의 백업 및 복구 유틸리티인 Recovery Manager (RMAN)는 Oracle Database 10g에 압축 기능을 도입했습니 다. RMAN 압축을 이용하면 백업에 필요한 스토리지가 대폭 줄어듭니다. RMAN이 오라클 데이터베이스와 긴밀하게 통합되어 있어서 디스크나 테이프에 기록하기 전 에 백업 데이터가 압축되므로 복구에 앞서 압축을 풀 필요가 없습니다. 이렇게 하면 스토리지 비용이 상당히 줄어듭니다. 그러나 엄청난 압축비로 인해 백업 성능이 영 향을 받아 백업 창이 길어질 수 있습니다.

 

Oracle Advanced Compression은 백업에 쓰이는 스토리지 요구량을 크게 감소시키 면서 RMAN 성능을 향상시키는 RMAN 압축 기능을 도입하고 있습니다. 업계 표준 의 ZLIB 압축 알고리즘에 기반한 RMAN 압축 백업은 Oracle Database 10g의 압축 백업보다 최대 40% 빠릅니다. 오라클은 압축비의 감소폭을 약 20%로 하여 이런 급 격한 성능 향상을 달성하고 있습니다. 빠른 RMAN 압축은 정상 근무 시간에 행하는 점증 백업을 위한 완벽한 솔루션입니다.

 

네트워크 트래픽의 압축

 

Data Guard는 관리, 모니터링 및 자동화 소프트웨어 인프라를 지원하여 하나 이상 의 스탠바이 데이터베이스를 생성, 유지, 모니터링함으로써 기업 데이터의 고장, 재 해, 오류, 데이터 손상을 방지합니다. Data Guard는 리두 데이터 (트랜잭션 복구에 필요한 정보)를 이용하여 기본 데이터베이스와 스탠바이 데이터베이스의 동기화를 유지합니다. 트랜잭션이 기본 데이터베이스에서 발생하면, 리두 데이터가 생성되어 로컬 리두 로그 파일에 작성됩니다. Data Guard의 리두 전송 서비스 (Redo Transport Services)는 이 리두 데이터를 스탠바이 데이터베이스로 전송하는 데 사 용합니다.

 

네트워크나 스탠바이 서비스의 작동이 중단되면 리두 데이터가 스탠바이 서버에 전 송되는 것이 차단됩니다. 작동 중단이 해결되면, 오라클이 스탠바이 데이터베이스의 동기화에 필요한 모든 리두 데이터를 전송하는 식으로 Redo gap resolution을 자동 수행합니다. Oracle Advanced Compression에는 Redo gap resolution 도중에 리두 데이터가 네트워크에서 전송될 때 이를 압축하는 기능이 있습니다. 이 압축을 통해 네트워크 대역폭이 극대화되어 Redo gap resolution 처리량이 증가합니다. 압축으 로 Redo gap resolution이 최대 2배까지 빨라질 수 있으며, 그러면 스탠바이 데이터 베이스가 신속하게 동기화되고 고가용성이 구현됩니다.

 

결론

 

데이터 용량의 폭발적 증가가 기업에 심각한 위협이 되고 있습니다. 기업은 순익에 영향을 끼치지 않는 범위에서 변화하는 비즈니스 환경에 빠르게 적응해야 합니다. 그리고 IT 관리자는 비용 억제를 위해 기존 인프라를 효율적으로 관리하되, 높은 애 플리케이션 성능을 계속 구현해야 합니다.

 

Oracle Database 11g의 Advanced Compression 옵션은 IT 관리자가 복잡한 환경 에서 성공할 수 있게 견고한 압축 기능 세트를 지원합니다. Advanced Compression 옵션을 이용하여 기업은 데이터 센터의 모든 구성요소 전반에 걸쳐 늘어나는 데이 터 요구량을 효율적으로 관리할 수 있습니다. 이를 통해 최고 수준의 애플리케이션 성능을 계속 구현하면서 비용을 최소화할 수 있습니다.

 

 

출처 : 한국 오라클

제공 : DB포탈사이트 DBguide.net

출처명 : 한국 오라클
반응형
Posted by [PineTree]