IBM®
메인 컨텐츠로 가기
    Korea [국가변경]    이용약관
 
 
   
        제품    서비스 & 솔루션    고객지원 & 다운로드    회원 서비스    
메인 컨텐츠로 가기

한국 developerWorks  >  Information Management | 자율 컴퓨팅  >

DB2 9 소개, Part 3: DB2 9의 자가 튜닝(self-tuning) 메모리 (한글)

developerWorks
문서 옵션

JavaScript가 필요한 문서 옵션은 디스플레이되지 않습니다.

토론


제안 및 의견
피드백

난이도 : 중급

Rav Ahuja, DB2 Program Manager, IBM

2006 년 10 월 24 일

DB2® 9의 자가 튜닝(self-tuning) 메모리 관리 기능은 데이터베이스의 메모리와 버퍼의 튜닝을 쉽게 하고 최적의 성능을 이끌어냅니다. 자동으로 데이터베이스 메모리를 설정하고, 런타임 시 동적으로 조정하여 성능을 최적화 하고 관리자의 생산성을 높입니다. 이것이 어떻게 작동하는지를 살펴보고, 효용성도 따져보고, 벤치마크 설정을 통해서 실제적인 결과도 알아봅니다. DB2 9의 신기능에 대한 자세한 내용은 본 시리즈의 기술자료에서 찾아 보실 수 있습니다.

머리말

데이터베이스 워크로드는 항상 변화하기 마련이다. 워크로드와 실행 환경은 증가하는 사용자들, 쿼리 패턴의 변화, 관리 태스크 실행, 다른 애플리케이션들이 사용하는 리소스의 변화와 같은 다양한 요소들 때문에 시간의 흐름에 따라 변하기 마련이다. 따라서, 숙련된 관리자가 어떤 한 시점에 시스템 튜닝을 하더라도, 또 다른 시점에는 이러한 튜닝이 최적 상태가 아니다. 변경 사항들은 (일 또는 주 단위가 아닌) 초 단위로 발생하기 때문에 관리자가 대응할 시간이 없다. 데이터베이스 메모리 설정은 이 같은 시스템 환경의 변화에 취약하고 응답 시간에 심각한 영향을 미칠 수 있다.

데이터베이스 메모리 설정을 자동으로 튜닝하고, 런타임 시 동적으로 조정하여 퍼포먼스를 최적화 하고 관리자의 생산성을 높이는, DB2 9의 새로운 자가 튜닝(self-tuning) 메모리 관리 기능을 소개한다.

작동 방법

DB2 9의 자가-튜닝 메모리 기능은 시작 시 여러 메모리 구성 매개변수에 대한 값을 자동으로 설정하여 메모리 설정 태스크를 단순화 한다. 자가 튜닝(self-tuning) 메모리 매니저는 지능형 제어와 피드백 메커니즘을 사용하여 워크로드 특성, 메모리 사용, 데이터베이스의 다양한 공유 리소스에 대한 수요 등을 지속적으로 추적하여, 필요할 때 마다 메모리 사용을 동적으로 조정한다. 예를 들어, 정렬(sort) 작업에 더 많은 메모리가 필요하고, 몇몇 버퍼풀(buffer pool)이 메모리를 초과하면, 메모리 튜너(tuner)는 초과된 버퍼 풀 메모리를 비우고 이것을 정렬 힙(sort heap)에 할당한다.


그림 1. 데이터베이스 메모리
Database memory


Windows®와 AIX® 플랫폼에서, 자가 튜닝 메모리 기능은 전체적인 데이터베이스 메모리 요구량을 파악하고, 데이터베이스 메모리 사용량을 동적으로 조정한다. 이 플랫폼에서는 데이터베이스 리소스들간 메모리 활용도를 동적으로 조정하는 것 외에도, DB2는 워크로드가 메모리를 요구하는 만큼 물리적 메모리를 소비하고, 데이터베이스 메모리 요구량이 낮을 때 다른 태스크와 애플리케이션을 위해 그 메모리를 비워둔다.

자가-튜닝(self-tuning) 메모리 실행하기

메모리 자가-튜닝은 데이터베이스 공유 메모리 리소스에서 실행된다. 이 리소스에는 다음 사항들이 포함된다:

  • 버퍼 풀(Buffer pools) (ALTER BUFFERPOOLCREATE BUFFERPOOL 문으로 제어됨)
  • 패키지 캐시(Package cache) (pckcachesz 설정 매개변수에 의해 제어됨)
  • 잠금 메모리(Locking memory) (locklistmaxlocks 설정 매개변수에 의해 제어됨)
  • 정렬 메모리(Sort memory) (sheapthres_shrsortheap 설정 매개변수에 의해 제어됨)
  • 총 데이터베이스 공유 메모리(Total database shared memory) (database_memory 설정 매개변수에 의해 제어됨)

자가-튜닝(self-tuning) 메모리는 self_tuning_mem 데이터베이스 설정 매개변수를 사용하여 실행된다. DB2 9에서, 새로운 데이터를 만들 때 (파티션되지 않은 데이터베이스의 경우) 자가 튜닝(self-tuning) 메모리는 자동으로 실행된다. self_tuning_mem이 ON으로 설정되고, 위에 열거된 리소스용 데이터베이스 매개변수들이 AUTOMATIC으로 설정된다. 이전 버전의 DB2에서 마이그레이션 된 기존 데이터베이스의 경우, 자가 튜닝 메모리는 직접 실행되어야 한다. 모든 데이터베이스 메모리 리소스들을 자동으로 관리되도록 하는 대신, 원하는 메모리 리소스들(매개변수들)만 AUTOMATIC으로 설정할 수도 있다.

효용성

일반적으로, 최적의 연산을 위해 데이터베이스 메모리 매개변수를 설정하는 일은 복잡하고 시간이 많이 든다. 데이터베이스용 메모리 매개변수를 자동으로 설정함으로서, DB2 9은 데이터 서버를 설정하는 태스크를 단순화 한다. 이로서 DBA 생산성이 향상되고, 관리자는 다른 중요한 태스크에 집중할 수 있는 여유도 생긴다.

메모리 설정을 단순화 하는 것 외에도, 이 새로운 자가 튜닝 메모리 기능은 워크로드의 중요한 변경에 대해 동적이고 반응성이 뛰어난 고급 설정을 제공하여 퍼포먼스를 향상시킨다.

이러한 기능은 같은 시스템에서 여러 데이터베이스들이 실행되고 있을 때, 특정 데이터베이스가 피크 타임에 더 많은 메모리를 소비하도록 자동으로 설정하고, 다른 데이터베이스와 워크로드가 필요로 할 때를 대비하여 비워두기 때문에 이 효과적이다.

자가-튜닝(self-tuning) 메모리 수행 결과

그림 2의 그래프는 사용자의 요구에 따라 설정된 벤치마크에 대한 DB2 자가 튜닝 메모리 실행 모습이다. DB2는 자동으로 데이터베이스 공유 메모리(왼쪽 그래프)를 늘려 워크로드 요구를 충족시키고, 쿼리 처리량도 여기에 상응하여 증가세를 보인다. (오른쪽 그래프)


그림 2. 자동 튜닝이 시스템 퍼포먼스에 미치는 영향
Effect of automatic tuning on system performance

맺음말

소셜 북마크

mar.gar.in mar.gar.in
digg Digg
del.icio.us del.icio.us
Slashdot Slashdot

DB2 9의 자가-튜닝 메모리는 많은 시간을 절약하고, 메모리 튜닝을 단순화 하며, 퍼포먼스를 자동으로 최적화 할 수 있는 혁신적인 기능이다. DB2 9을 다운로드 하고 이러한 기능을 직접 경험해 보기 바란다.

기사의 원문보기



참고자료

교육

제품 및 기술 얻기

토론


필자소개

Rav Ahuja는 IBM Toronto Lab의 월드와이드 DB2 프로그램 매니저이다. DB2 for Linux, UNIX, and Windows, Version1부터 참여했으며 DB2 개발, 기술 지원, 마케팅, 제품 전략 등 다양한 역할을 수행했다. DB2와 서비스 기반 솔루션 분야에서 고객 지원을 하고 있다. DB2 페이퍼, 기술자료, 책 등 활발한 저술 활동을 하고 있다. McGill University에서 컴퓨터 엔지니어링 학위를, University of Western Ontario에서 MBA를 받았다.




기사에 대한 평가


보다 나은 서비스를 제공하기 위함이오니 잠시 짬을 내어 이 양식을 제출하여 주십시오.



아니오잘 모르겠음
 


 


12345
 



위로


developerWorks 콘텐트를 다른 사이트에 전재하기:
developerWorks 콘텐트에 대한 저작권은 IBM에 있습니다. IBM의 서면 허가나 원본 저자의 허락이 없이는 전재를 금합니다. 저희 콘텐트를 전재하시려면 IBM developerWorks 담당자 에게 문의하십시오.

    IBM 소개개인정보 보호정책문의