머리말

IBM®은 자동화 컴퓨팅 분야의 선두 주자이다. DB2 Version 8은 자가 설정(self-configuring), 자가 최적화(self-optimizing), 자가 치료(self-healing) 기능을 도입했다. DB2 9은 데이터에서 더 나은 비즈니스 가치를 이끌어내고, 관리 시간을 줄일 수 있는 전략을 지속적으로 개발하고 있다.

이 글에서는 DB2 9의 새로운 자동화(autonomic) 기능들을 소개한다. 또한 이전 글에서는 다루지 못했던 중요한 향상에 대해서도 설명한다.

자동화

새로운 DB2 9 데이터베이스는 이제 기본적으로 자가 환경설정(configuration) 및 자가 유지보수(maintaining)가 가능하다. 데이터베이스 생성 시, 메모리 관리, 스토리지 관리, 성능 튜닝, 데이터베이스 관리 플래닝에 대해 걱정할 필요가 없다. 그저, 데이터베이스를 만들어서, DB2가 모든 것을 관리하도록 하면 된다.

자가-튜닝(self-tuning) 메모리 관리 [한글] 외에도, DB2 9는 자동화와 관련하여 다음과 같이 향상되었다:

이러한 자동화 기능은 데이터베이스 관리 수고를 덜어주고, 관리자의 생산성과 효과를 높이며, 관리 비용을 낮춘다. 이러한 기능들은 애플리케이션 개발자와 벤더들에게도 효과적이다. 데이터베이스 설정이나 전개에 신경 쓰지 않고 애플리케이션 개발에 집중할 수 있다.

디폴트로 실행되는 자동-환경설정

DB2 Version 8은 시스템과 데이터베이스 특성들(CPU, 메모리, 데이터베이스 사이즈, 테이블의 수)을 탐지하고 설정 매개변수에 값을 제시하는 Configuration Advisor를 도입했다. DB2 9은 더 나아가서 Configuration Advisor를 자동으로 실행하여, 일부 기본적인 튜닝 결정들은 기본적으로 내릴 수 있도록 하고 있다. 예를 들어, 디폴트 버퍼 풀의 크기, I/O 클리너, I/O 서버를 설정한다. 이러한 초기 자동 튜닝으로, 데이터베이스는 이전 데이터베이스 설정 디폴트 값으로 만들어진 데이터베이스 보다 더 나은 성능을 보이며, 상용 제품에서도 더욱 잘 작동하게 된다.

데이터베이스 자동 유지보수(maintenance)

단순한 유지보수 작업을 위해, DB2 9은 일부 진행 중인 태스크를 기본적으로 자동화 한다. 예를 들어, RUNSTATS 유틸리티를 주기적으로 자동 실행하여 테이블의 물리적 특성과 관련 인덱스들에 대한 통계를 업데이트 한다. DB2 옵티마이저는 이 통계를 사용하여 주어진 쿼리에 가장 효율적인 액세스 플랜을 세워, 쿼리 성능을 높인다.

또한, DB2 9에서는 자동으로 유지보수(maintenance)할 수 있는 데이터베이스를 만들거나 기존 데이터베이스에 대해서도 자동 유지보수 기능을 적용할 수 있는 그래픽 위자드를 제공한다. 이 위자드에서는 RUNSTATS 외에도, 데이터베이스 백업과 REORGs (테이블과 인덱스 데이터의 단편화 제거(defragmentation))를 자동화 한다. 자동 유지보수 기능을 사용하기 위해서는 Backup, REORG, RUNSTATS에 대해서 유지보수(maintenance) 윈도우의 사용 방식과 자동화(Automate), 통지(Notify) 옵션을 선택함으로써 활동 수준을 조절할 수 있다.(그림1. 참조)


그림 1. 자동 관리 설정하기
Configure automatic maintenance

스토리지 관리 자동화

DB2 9은 DB2 V8.2.2에 처음 도입된 자동화 스토리지 기능을 확장했다. 자동화 스토리지는 디스크와 파일 시스템에서 데이터베이스의 크기를 자동으로 늘린다. 데이터베이스 관리 스토리지의 성능과 유연성을 활용하기 때문에, 스토리지 컨테이너를 관리할 필요가 적어진다. DB2 9에서, 자동화 스토리지는 새로운 데이터베이스를 만들면 기본적으로 실행된다. 게다가, 자동화 스토리지 지원은 멀티-파티션 데이터베이스에 추가되었다.

이러한 기능 덕택에, 용량을 만들기 위해 추가 테이블 공간을 만들고, 컨테이너를 추가하고, 컨테이너 증가를 감시하는 작업을 더 이상 신경 쓸 필요가 없다. 데이터베이스 백업을 복원하려면, (다른 디렉토리나 경로 구조를 가진)다른 시스템일 경우, 스토리지 경로를 재정의 하여 백업 이미지에 저장된 경로 대신 새로운 경로가 사용된다.

이전에는, Windows® 시스템의 경우, C에 데이터베이스를 만들 수 있었다. 이제는, C와 D에 데이터베이스를 만들 수 있고, 데이터베이스를 변경하여 E와 F 드라이브를 추가하고 특정 정책들을 사용하여 DB2가 그 공간을 관리하도록 할 수 있다. 다음 예제는 유닉스®와 리눅스® 시스템에서 자동화 스토리지의 사용법이다.

데이터베이스가 생성되면, 그 데이터베이스에서 사용될 스토리지 풀을 설정할 수 있다. 스토리지 경로가 지정되지 않으면, 기본 데이터베이스 경로(dftdbpath)가 사용된다.

CREATE DATABASE test on /data/path1, /data/path2 

나중에 추가 경로를 이 풀에 추가할 수 있다:

ALTER DATABASE ADD STORAGE /data/path3, /data/path4 

전에는, 테이블 공간을 만들면, 여기에 대한 컨테이너들을 설정해야 했다. 이제는, 자동으로 데이터베이스 스토리지 풀을 사용한다.

CREATE TABLESPACE ts1 MANAGED BY AUTOMATIC STORAGE 

스토리지 증가와 제한에 대한 정책들도 정의할 수 있다:

CREATE TABLESPACE ts2 
	INITIAL SIZE 500K
	INCREASE SIZE 100K
	MAXSIZE 100M

이러한 예제들은 자동화 스토리지의 단순함과 유연성을 단적으로 보여주고 있다.

디폴트 자동화 변경하기

DB2 9에서, 새로운 데이터베이스를 만들면, 자동 설정, RUNSTATS, 자가 튜닝 메모리, 자동 스토리지 기능들은 기본적으로 실행된다. 이 모든 것이 환경을 쉽게 설정하고 최적화 할 수 있도록 하기 위함이다. 하지만, 이러한 기능들을 직접 설정 및 튜닝하고 싶다면, DB2에서는 디폴트 자동화를 실행 불가로 하는 옵션도 제공한다. 마찬가지로, 이전 버전의 DB2에서 데이터베이스를 업그레이드 해도, 이러한 기능들이 기본적으로 실행되지 않는다. 튜닝이 잘 된 설정을 보존하고, 시스템의 신뢰도(predictability)를 보장하기 위해서이다. 새로운 자동화 기능을 활용하려면, 기존 데이터베이스에 이 새로운 자동화 기능을 정확히 실행시켜야 한다.

기타 향상점

DB2 9에는 이 글에서 모두 열거할 수 없을 정도로 많은 부분들이 향상되었다. 이 섹션에서는 새로운 버전에서 눈에 띄게 향상된 부분 몇 가지만 소개하도록 하겠다:

같은 시스템 상에 다중 DB2 설치

같은 시스템 상에 한 개 이상의 데이터 서버나 클라이언트 소프트웨어를 설치할 수 있다. 게다가:

  • 어디든 설치할 수 있다: 여러분이 선택한 경로를 사용하여 DB2 데이터베이스 시스템을 설치할 수 있다.
  • 여러 번 설치할 수 있다: 같은 운영 체계 이미지에 두 개 이상의 DB2 9 카피를 설치할 수 있다. 각 카피는 같은 코드 레벨(fixpack 적용 버전) 또는 다른 코드 레벨이 될 수 있다.
  • 각 카피(설치본)를 독립적으로 다룬다: 다른 카피에 영향을 주지 않고 한 개의 카피만 업데이트 할 수 있다.

장점:

  • 전개 독립성: 독립적인 DB2 카피들은 다른 목적과 그룹들에 사용될 수 있다. 이러한 독립성 덕택에 같은 컴퓨터에 다른 데이터베이스들이 다양한 픽스 팩 레벨에서 실행될 수 있다. 예를 들어, 인사부가 재무부에 영향을 주지 않고 픽스를 적용할 수 있다.
  • 라이프-사이클 유연성: 한 버전의 DB2를 실행 환경에, 더 새로운 버전을 테스트 환경에 전개하여 새로운 픽스 팩을 테스트 한다. 제품 인스턴스는 인스턴스 별로 새로운 설치 경로로 롤오버(roll over) 될 수 있다.
  • 향상된 임베딩 기능: 애플리케이션 벤더들은 자신들의 데이터 서버 소프트웨어 카피들을 임베딩 하여, DB2를 사용해야 하는 다른 애플리케이션들과는 독립적으로 실행할 수 있다.

DB2 클라이언트 없이 ODBC와 CLI 애플리케이션 실행

CLI 또는 ODBC 인터페이스를 사용하는 DB2 9 애플리케이션 런타임의 전개가 더 쉬워졌다. DB2 서버나 클라이언트 패키징과 별개로 DB2 9의 새로운 드라이버는 ODBC와 CLI를 위한 런타임 지원과 원격 연결을 제공한다.

새로운 ODBC와 CLI용 DB2 드라이버에 사용할 수 있는 다양한 설치 옵션들이 있다:

  • DB2 클라이언트가 이미 설치된 머신에 드라이버를 설치할 수 있다.
  • 하나의 머신에 이 드라이버를 여러 개 설치할 수 있다.

DB2 클라이언트나 서버 없이 ODBC와 CLI용 DB2 드라이버를 설치할 수 있기 때문에 데이터베이스 애플리케이션 전개가 더 쉬워진다:

  • 데이터베이스 애플리케이션 설치 패키지에 드라이버를 포함시킬 수 있다.
  • 배포판 크기, 설치 시 차지하는 공간이나 메모리 사용량이 줄어든다.

IPv6 지원

DB2 9은 IPv6을 지원한다. IPv6은 현재 IP (Internet Protocol) 버전(IPv4)에서 업그레이드 된 것이며, 글로벌 접근성(addressability)에 어떤 제한도 없다. IPv4에서는 사용할 수 있는 글로벌 어드레스의 수가 제한되었기 때문에 IPv6이 이를 점차적으로 대체할 것으로 보인다.

IPv4는 DB2 9의 모든 플랫폼에서 계속 지원될 것이고, 디폴트 프로토콜로 남아있게 될 것이다. 서버에서, IPv6이 설정되지 않으면, DB2는 이전 버전과 마찬가지로 모든 IPv4 어드레스들만 리스닝 한다. IPv6이 설정되면, DB2는 모든 IPv4와 IPv6 어드레스를 리스닝 한다. DB2 9.1에 IPv6을 설정하려면 새로운 CATALOG TCPIP6 NODE 명령어를 사용하여 TCPIP 노드 목록을 작성한다.

테이블 제한 및 용량 증가

DB2 9의 테이블은 “페이지크기 X 512 megabytes(Version 8에 비해 32배 증가)”까지 늘어났다. 이는 DB2 9에서 큰 Record Identifier (RID)를 지원한 결과이다. RID는 테이블 공간에 있는 객체들을 참조하는데 사용된다. 이들은 레코드가 위치한 페이지에서 페이지 수와 슬롯을 지정한다. RID가 더 커졌기 때문에, 테이블 공간에서 더 많은 페이지들이 참조될 수 있고, 페이지당 더 많은 행들, 결국 테이블 용량이 훨씬 더 증가하게 된다.


그림 2. 큰 RID 지원
Large RID support

RID는 DMS(database managed) 테이블 공간과 자동 스토리지로 생성된 것에는 기본이다. 비 파티션 테이블(32KB 페이지 크기 사용)은 16 테라바이트 또는 1조 1천억 행을 보유할 수 있다.

큰 RID 지원은 데이터베이스 용량을 늘리는 것 외에도, 테이블 공간 관리를 단순화 하고(통합을 통해), 스토리지와 메모리 활용을 향상시킨다.

맺음말

DB2 9은 더 단순하고, 저렴한 방식으로 데이터베이스를 관리하고, 새로운 레벨로 스케일링 하며, 개발과 전개 생산성을 높일 수 있도록 하고 있다. DB2 9을 다운로드 하여 이 새로운 기능들을 직접 체험해 보기 바란다.

기사의 원문보기


참고자료

교육

제품 및 기술 얻기

토론

+ Recent posts