IBM Confidential Apr 13, 2023 2
IBM Global Technology Services
© IBM Corporation 2009
Agenda
I. DB2 9.1 New featuresI. DB2 9.1 New features
II. DB2 9.5 New featuresII. DB2 9.5 New features
III. SummaryIII. Summary
IBM Confidential Apr 13, 2023 3
IBM Global Technology Services
© IBM Corporation 2009
Agenda
I. DB2 9.1 New featuresI. DB2 9.1 New features
II. DB2 9.5 New featuresII. DB2 9.5 New features
III. SummaryIII. Summary
IBM Confidential Apr 13, 2023 4
IBM Global Technology Services
© IBM Corporation 2009
DB2 발전 과정
IBM 의 DB2 UDB 는 1983 년 출시된 최초의 상용 RDBMS 로 업계의 신기술과 IBM 의 DBMS 기술을 집약하여 새로운 버전을 지속적으로 출시하여 왔으며 , 특히 2002 년 9 월에 출시된 V8 은 성능 , 확장성 , 가용성 , 사용 편의성 등에 중점을 두었으며 업계 최초로 SMART(Self Managing And Resource Tuning) 기술을 사용하여 DBMS 의 자율 컴퓨팅 기능을 제공하고 있습니다 .
IBM Confidential Apr 13, 2023 5
IBM Global Technology Services
© IBM Corporation 2009
DB2 발전 과정
DB2 9 은 더욱 강화된 자율 컴퓨팅 기술 (SMART) 및 보안 과 PureXML 기술 등의 차세대 DBMS 의 핵심 기술을 포함하고 있습니다 . DB2 의 차세대 제품들은 더욱 강화된 자율 컴퓨팅 기능을 포함 할 예정이며 , 계속해서 IBM 의 지속적 지원과 투자가 진행되고 있습니다 .
2004 2005 2006.7.28 2007.10.31
DB2 v.8.2 DB2 9.1 DB2 9.5
High Availability Enhancement : HADR Grid Database Ease of Use : GUI Advisor for Administration Performance MTK for ORACLE Warehouse Enhancement
Self Tuning Memory Manager Automatic Storage Table Partitioning Increase Tablespace capacity limits Deap compression PureXML
Management and Administration Workload management Performance enhancement Security and Compliance Enhanced XML and SQL Application Development Enhancements
가상화 : 다양한 Type 의 데이터와 이기종 DBMS 데이터 접근 제공
자동화 : 효율적이고 강력한 DBMS 자동구성 / 운영 기능개방화 : 표준화된 아키텍처 기반의 분산 운영 환경 제공 기능데이터통합 : 단일 데이터 소스로의 통합 솔루션 제공데이터분산 : H 다양한 이기종 데이터의 분산 환경 제공
IBM Confidential Apr 13, 2023 6
IBM Global Technology Services
© IBM Corporation 2009
자동화
DB2 9 Database 는 새로 생성시 많은 부분이 자동화 기능을 기본적으로 제공합니다 .
자동 튜닝 메모리 관리 자동 데이터 통계정보 수집 자동 스토리지 관리 구성 어드바이저
구성 파라메터의 기본값이 AUTOMATIC 으로 변경되었습니다 . NUM_IOSERVERS : (3) AUTOMATIC NUM_IOCLEANERS : (1) AUTOMATIC
Database 시작 시점에 계산되어 최적화된 값이 설정
IBM Confidential Apr 13, 2023 7
IBM Global Technology Services
© IBM Corporation 2009
STMM - Self Tuning Memory Manager
STMM 이라는 파격적인 메모리 관리기법을 제공합니다 .
주요 Database 메모리 관련 Parameter 를 관리 • Sort : sortheap,sheapthres_shr
• Lock : locklist,maxlocks
• Package cache : pckcachesz
• Bufferpool
• Total database memory : database_memroy
자동 메모리 관리 및 튜닝 Workload 에 대한 인지 필요에 따른 메모리 재분배 온라인 메모리 튜닝 DBA 개입이 불필요
IBM Confidential Apr 13, 2023 8
IBM Global Technology Services
© IBM Corporation 2009
STMM - 작동 모드
2 가지 다른 모드로 작동합니다 .
DATABASE_MEMORY 파라메터 튜닝 함• DATABASE_MEMORY=AUTOMATIC 일 경우
• 필요에 따라 메모리를 OS 와 주고 받고 함
• DB2 에 의해 사용되는 메모리의 총합이 늘어남 .
• Automatic Heap 이 하나만 있어도 작동
DATABASE_MEMORY 파라메터 튜닝 안함 • DATABASE_MEMORY=< 숫자값 > 또는 COMPUTED 일 경우
• DB2 에 의해 사용되는 메모리의 총합이 고정임
• 메모리 튜닝은 일어나는데 , 하나의 Heap 이 늘어나면 다른 Heap 은 줄어듦
• 최소 2 개의 Automatic Heap 이 있어야 작동
• 참고로 DATABASE_MEMORY=COMPUTED 는 V8.2 의 AUTOMATIC 와 동일하게 작동
IBM Confidential Apr 13, 2023 9
IBM Global Technology Services
© IBM Corporation 2009
STMM – 중요 Index 삭제
order of execution
After drop index – Average times
Tim
e
IBM Confidential Apr 13, 2023 10
IBM Global Technology Services
© IBM Corporation 2009
STMM – 한 서버 내의 2 Database
Time
Me
mo
ry (in
4K
pa
ge
s)
IBM Confidential Apr 13, 2023 11
IBM Global Technology Services
© IBM Corporation 2009
Row Compression
Null 값과 Default 값 Compression (DB2 V8 GA) NULL 칼럼값가변길이 칼럼의 zero-length 데이터시스템 디폴트 값
Multi-Dimensional Clustering (DB2 V8 GA) Block index 를 통한 “ Index compression” 이 구현
수천개의 레코드에 하나의 Key
Database Backup Compression 작은 Backup 이미지 : Index 와 long Tablespace 압축
Row Compression (DB2 9)
IBM Confidential Apr 13, 2023 12
IBM Global Technology Services
© IBM Corporation 2009
Row compression
Dictionary 를 두어 테이블의 Row 에서 반복되는 내용을 포함합니다 .
Compress 후보는 칼럼 내에서 또는 칼럼 경계를 넘어서 반복되는 내용이면 될 수 있음
Name Dept Salary City Province Postal_Code
Ziopoulos 510 10000 Whitby ONT L4N5R4
Katsopoulous 500 20000 Whitby ONT L4N5R4
IBM Confidential Apr 13, 2023 13
IBM Global Technology Services
© IBM Corporation 2009
Row Compression – Storage Savings
Overall Storage Savings
Lempel-Ziv (LZ) based algorithm 을 통한 Compress 기능을 제공합니다 .
DISK 와 BUFFFERPOOL 에 Compress 된 형태로 존재하게 되며 다음과 같은 이점을 제공합니다 .
I/O bandwidth 절감 Memory 절감 CPU costs: Decompress 에 대한 CPU Overhead
IBM Confidential Apr 13, 2023 14
IBM Global Technology Services
© IBM Corporation 2009
Row Compression – 성능 향상
Decompress 에 의한 CPU Overhead 가 있으나 전체적으로 Workload 성능은 크게 향상됩니다 .
Overall Workload Performance
CPU Usage
IBM Confidential Apr 13, 2023 15
IBM Global Technology Services
© IBM Corporation 2009
Row Compression - Table DDL
CREATE Table <table name> --->
| ---COMPRESS NO--- |
------+-------------------------------+----->
| ---COMPRESS YES-- |
ALTER Table <table name> --->
------+-------------------------------+----->
| ---COMPRESS--+-- YES--+---|
|--- NO ---|
Compression 은 CREATE/ALTER Table 구문을 통해 Table 단위로 적용됩니다 .
그리고 , 일단 Table dictionary 가 생성되어야 Compression 이 일어납니다 .
IBM Confidential Apr 13, 2023 16
IBM Global Technology Services
© IBM Corporation 2009
Row Compression - Dictionary 생성
Classic ('Offline') Table reorg 시 Table Dictionary 가 작성됩니다 . 물론 그 테이블이 Row Compression 이 active 상태이어야 합니다 .
Dictionary 가 생성시 , 10 MB 의 임시 in-memory 버퍼가 필요합니다 . 이 메모리는 Utility heap 에서 할당됩니다 .
INSPECT ROWCOMPESTIMATE
> -- REORG -- <table name> ---+------------------------------------+----->
‘ – INDEX --<index name>--’ .-ALLOW READ ACCESS-. >--+-+------------------------------------+--+-------------------------+--+------------------+ -> '-ALLOW NO ACCESS----' '-USE--<tbspace>-' '-INDEXSCAN-'
.-KEEPDICTIONARY---. >--+------------------------+--+---------------------------------+-+--> '-LONGLOBDATA-' '-RESETDICTIONARY---'
IBM Confidential Apr 13, 2023 17
IBM Global Technology Services
© IBM Corporation 2009
Table partitioning
Table (Range) Partitioning 이란 ? 하나의 테이블이 테이블 칼럼 값에 따라 여러 개의 데이터 파티션 ( 또는 Range) 이라는
Storage 에 분할되어 저장되는 Data 구조입니다 .
이점 Table 용량 제한을 늘림 큰 테이블에 대한 관리 효율성을 높임 Partition Elimination 을 통한 SQL 성능 향상 신속한 온라인 Data roll-in 과 roll-out 제공
IBM Confidential Apr 13, 2023 18
IBM Global Technology Services
© IBM Corporation 2009
Table partitioning – 관리 효율성
시간이 오래 걸리는 유지보수 작업을 Data Partition 별 여러 작업으로 나누어 수행할 수 있습니다 . Backup
Load
Recover
IBM Confidential Apr 13, 2023 19
IBM Global Technology Services
© IBM Corporation 2009
Table partitioning – Roll-in 과 Roll-out
테이블로부터 데이터를 쉽게 roll-in 또는 roll-out 할 수 있습니다 . Roll-in : 데이터를 파티션 되지 않은 Table 에 Load 한 후 해당 Table 에 Data
Partition 으로 추가 (ATTACH 이용 )
Roll-out : 테이블에서 사용하지 않는 Data Partition 을 제거 (DETACH 이용 )
OFFLINE 에서 수행할 필요 없습니다 .
IBM Confidential Apr 13, 2023 20
IBM Global Technology Services
© IBM Corporation 2009
Table partitioning - Syntax
CREATE TABLE orders(… delivery DATE) IN tbsp1, tbsp2, tbsp3, tbsp4 PARTITION BY RANGE(delivery) ( STARTING FROM (‘2009-01-01’) EVERY (3 MONTHS) ENDING (‘2009-12-31’))
IBM Confidential Apr 13, 2023 21
IBM Global Technology Services
© IBM Corporation 2009
Hybrid Partition
Database Partitioning, Table Partitioning 과 Muti Dimensional Clustering 이 같은 테이블에서 동시에 사용될 수 있습니다 .
DATABASE PARTITIONING ( aka DPF) - DISTRIBUTE BY HASH
TABLE PARTITIONING - PARTITION BY RANGE
MULTI DIMENSIONAL CLUSTERING (aka MDC) - ORGANIZE BY DIMENSIONS
IBM Confidential Apr 13, 2023 22
IBM Global Technology Services
© IBM Corporation 2009
Security – Label Based Access Control
Label Based Access Control (LBAC) 사용자와 Data Row 에 관련한 Security Label 을
정의합니다 .
데이터의 접근제어를 사용자 Label 과 Data Row Label 을 동시에 비교하여 Row 단위의 접근을 허용합니다 .
Security Label 을 정의하는 Component Type Hierarchical (ARRAY)
Group (SET)
Tree types (TREE)
Security Label 은 Label Component 로 구성된 Security policy 로 구성됩니다 .
IBM Confidential Apr 13, 2023 23
IBM Global Technology Services
© IBM Corporation 2009
Security – Label Based Access Control
Row Label 은 Label component 의 개수와 관계없이 하나의 Column 으로 표시됩니다 .
사용자 Label 은 Security administrator 에 의해 관리됩니다 .
사용자는 그들의 Security Label 에 따라 권한이 있는 Row 만 접근할 수 있습니다 .
사용자에 접근 권한이 없는 Row 는 “ non existent” 입니다 .
IBM Confidential Apr 13, 2023 24
IBM Global Technology Services
© IBM Corporation 2009
Security – Label Based Access Control
SELECT * FROM EMP
WHERE
SALARY >= 50000
IBM Confidential Apr 13, 2023 25
IBM Global Technology Services
© IBM Corporation 2009
pureXML 지원
Table 은 Relational Column 과 함께 XML Column 을 함께 가질 수 있습니다 . Relational Column 은 Tabular Format 으로 저장 XML Column 은 Parsed Hierarchical Format 으로 저장
XLM query 의 성능 향상 : No XML parsing
IBM Confidential Apr 13, 2023 26
IBM Global Technology Services
© IBM Corporation 2009
설치 개선 사항
Multiple DB2 서버 설치 어떤 Path 에도 DB2 를 설치 할 수 있습니다 .
하나의 OS (Windows 포함 ) 위에 2 개 이상의 DB2 를 설치할 수 있습니다 . 그리고 , 각각은 동시에 다른 코드 레벨을 가집니다 .
각 설치는 서로 독립적이어서 한쪽이 Update(Fixpack 적용 ) 되더라도 다른 쪽에는 영향이 없습니다 .
Linux 와 Unix 의 fixpack 에는 Full Install Image 지가 들어 있습니다 .
DB2 Driver for ODBC and CLI 설치 DB2 Client 나 DB2 Sever 없이 ODBC 또는 CLI 어플리케이션이 실행이 가능합니다 .
하나의 Machine 에 여러 개를 설치 할 수 있습니다 .
설치 이미지 및 메모리 이미지가 줄었습니다 .
IBM Confidential Apr 13, 2023 27
IBM Global Technology Services
© IBM Corporation 2009
간편해진 스토리지 관리
사용자는 Storage 를 DB2 에 설정하기만 하면 , 테이블의 Space 가 추가로 필요 할 때 그 Storage 에서 DB2 가 알아서 Space 를 할당하고 사용하도록 합니다 . Tablespace 를 위한 스토리지 관리의 단일 포인트 Database 수준에서의 Storage 를 할당 및 관리 Database 생성시 Automatic Storage 결정 ( 디폴트는 ON)
AUTOMATIC STORAGE Tablespace 명시적인 Container 정의가 필요하지 않음 Container 는 자동적으로 스토리지 패스에서 생성됨 기존의 Container 의 크기 증가와 새 Container 추가는 완전히 DB2 에 의해
관리됨
Storage Path 를 DB 생성 이후에 추가 가능 ( ALTER DATABASE)
Restore Database 과정에서 Storage path 재 정의 가능
IBM Confidential Apr 13, 2023 28
IBM Global Technology Services
© IBM Corporation 2009
간편해진 스토리지 관리
CREATE DATABASE DB1
AUTOMATIC STORAGE YES
CREATE DATABASE DB3
ON / data/path1, /data/path2
CREATE TABLESPACE TS2
MANAGED BY AUTOMATIC STORAGE
CREATE TEMPORARY TABLESPACE TEMPTS
CREATE USER TEMPORARY TABLESPACE USRTMP
MANAGED BY AUTOMATIC STORAGE
CREATE TABLESPACE TS1
INITIALSIZE 500 K INCREASESIZE 100 K
MAXSIZE 100 M
ALTER DATABASE DB1 ADD STORAGE ON /data/path3
RESTORE DATABASE TEST1
RESTORE DATABASE TEST3
ON /path1, /path2, /path3
ON 이 사용되면 백업이미지내의 저장된
Path 대신 ON뒤의 Path 에 Restore 를 함
ON 이 사용되면 백업이미지내의 저장된
Path 대신 ON뒤의 Path 에 Restore 를 함
IBM Confidential Apr 13, 2023 29
IBM Global Technology Services
© IBM Corporation 2009
Backup 과 Restore
REBUILD 옵션을 이용한 Restore 선택된 Tablespace 백업으로 Partial Database 구축가능 Tablespace 백업 이미지로 전체 Database 를 복구 가능 Restore 하기 위한 이미지 목록을 만들기 위해 History file 검색
재시작 가능한 복구 RECOVER 명령을 다시 실행하면 바로 전 실행에서 멈춘 곳을 파악 Point In Time ( 복구시점 ) 을 앞이든 뒤든 어느 방향으로도 바꿀 수 있음
Redirected Restore script 작성기 백업 이미지로 부터 Redirected restore script 를 작성할 수 있음
Database 의 파일 목록을 제공하는 Table function 지원 Split-mirror Backup/Recovery 자동지원에 사용됨
IBM Confidential Apr 13, 2023 30
IBM Global Technology Services
© IBM Corporation 2009
Large Tablespace design
Large Row Identifiers : 대용량 Table 지원하기 위해 4Byte 에서 6Byte 로 커졌습니다 . OLD : 4K (64GB), 8K (128GB), 16K (256GB), 32K(512GB)
NEW: 4K (2TB), 8K (4TB), 16K (8TB), 32K (16TB)
단 , DMS 와 Automatic Storage 에 대해서만 지원가능그리고 System 및 USER Temporary Tablespace 에 대해서 지원 가능
IBM Confidential Apr 13, 2023 31
IBM Global Technology Services
© IBM Corporation 2009
Less Limits
보다 큰 Index key part 와 Column 의 수를 지원합니다 .
Function 명의 18 Char 이상 허용합니다 .
Identifier 를 최대 128 byte 까지 허용합니다 .
Version Index Key part 의 길이 Index Key 의 Column 갯수
DB2 9.1 이전 1024 16
DB2 9.1 이후 1024 – 4 K page 64
2048 – 8 K page 64
4096 – 16 K page 64
8192 – 32 K page 64
IBM Confidential Apr 13, 2023 32
IBM Global Technology Services
© IBM Corporation 2009
Locktimeout capture 기능
DB2_CAPTURE_LOCKTIMEOUT 라는 레지스터 변수 Locktimeout 이 발생했을 때의 필요 정보를 파일에 기록합니다 .
Null 값이 디폴트로 “ ON” 값을 설정해야 됩니다 . 파일에 기록되는 정보 :
Locktimeout 을 생기게 한 Lock 경합을 벌인 Application 들 lock requestor 와 current lock owner 의 상세 lock 정보
Locktimeout 리포트 파일 생성 Text report 형식 의 파일이 생셩되며 , locktimeout 이 발생할 때 마다 생성 생성 파일 : db2locktimeout.partition#.AGENTID.yyyy-mm-dd-hh-mm-ss
예 ) db2locktimeout.0.1638726.2009-04-23-23-07-58
이 파일은 DIAGPATH 에 생성되며 , 직접 (manually) 지워야 합니다 .
IBM Confidential Apr 13, 2023 33
IBM Global Technology Services
© IBM Corporation 2009
Developer Workbench
Developer Workbench 란 ? 신속한 DB2 업무 개발을 돕는 Visual Tool
입니다 .
Eclipse 기반으로 새로 디자인 된 무료 Tool입니다 .
DB2 V8 의 Development Center (SP,UDF 작성 )을 대체합니다 .
주요 기능 View 생성 ,database objects 편집 (Table 등 )
Table 과 Row 의 데이터 조회 및 편집 SQL 및 Xquery 작성
Stored Procedure 와 UDF, Routine, Script 개발 및 배포
SQL 및 Java Stored Procedure 디버깅 SQLJ 어플리케이션 개발 XML 을 위한 Query 및 Routine 개발 Data Load/Unload
* DB2 9.5 에서는 Data Studio 로 이름이 변경됨
IBM Confidential Apr 13, 2023 34
IBM Global Technology Services
© IBM Corporation 2009
Agenda
I. DB2 9.1 New featuresI. DB2 9.1 New features
II. DB2 9.5 New featuresII. DB2 9.5 New features
III. SummaryIII. Summary
IBM Confidential Apr 13, 2023 35
IBM Global Technology Services
© IBM Corporation 2009
Thread-based Process Model
DB2 9.5 는 Thread-based Model 입니다 . UNIX 와 Linux 환경을 위해 변경됨 . Windows 환경은 이미 thread-
based 임 공유 메모리에 대한 문제 진단이 쉬워짐 빠른 Context switch 로 인한 성능향상 보다 작은 Context 로 인한 시스템 및 메모리 자원 절약 간소해진 db2 프로세스 ,
- db2sysc, db2acd, db2wdog
대부분 프로세스는 db2sysc 프로세스 내에 thread 로 구현 개별 active thread 를 보려면
$ db2pd -edus
IBM Confidential Apr 13, 2023 36
IBM Global Technology Services
© IBM Corporation 2009
Thread-based Process Model
Process-Model 의 제한을 감소시켰습니다 .
Threaded engine 아키텍처로 이동 서버 유형에 독립적인 기본 병렬 실행을 제공 전체 DB2 node 에 대한 단일 메모리 파라메터
제공
• DBMS 및 DB 그리고 개인 메모리에 할당된 종합적인 메모리 제어 가능
Agent 단위의 구성 파라메터를 없애거나 자동화시킴 maxagents, maxcagents 는 없어짐 num_poolagents=AUTOMATIC 로 설정 튜닝을 간단하게 함
Agent 메모리 소비를 줄임
IBM Confidential Apr 13, 2023 37
IBM Global Technology Services
© IBM Corporation 2009
Thread-based Process Model
Processing 모델 구성의 단순화를 가져 왔습니다 .
Parameter Old New 설명
Online? Auto? Online? Auto?
NUM_POOLAGENTS N N Y Y Agent Pool 크기가 자동적으로 서서히 감소
MAX_COORDAGENTS N N Y Y 메모리가 지원된다면 새로운 coordinator 가 자동적으로 할당됨
MAX_CONNECTIONS N N Y Y 메모리가 지원된다면 새로운 Connection 이 자동적으로 허용됨 .
FENCED_POOL N N Y Y 설정이 Instance migration 에 의해 바뀌지 않음
MAXCAGENTS N N N/A N/A 더 이상 필요 없음 ; 동시 Transaction 의 수를 제한하고 싶다면 연결집중기를 이용함
MAXAGENTS N N N/A N/A 더 이상 필요 없음 , Thread 의 수를 한정하고 싶다면 NUM_POOLAGENTS, MAX_COORDAGENTS 를 설정함
IBM Confidential Apr 13, 2023 38
IBM Global Technology Services
© IBM Corporation 2009
Workload Management
DB2 Workload 란 ? Workload 를 관리하기 위해 Incomming work
를 식별하기 위한 Object 입니다 .
이점 작업이 어떻게 할당하고 실행되는지 DB2 내에서
정의합니다 .
DB2 내의 모든 작업을 SQL 을 통하여 실시간으로 모니터링할 수 있습니다 .
비용 , 시각 및 동시성 임계값을 통해 실행을 제어합니다 .
실행 전에 명시적으로 작업할 중요 자원을 할당합니다 .
< WLM 의 단계 >
Workload 예 )
CREATE WORKLOAD “Reporting” APPLNAME(‘Accounts’)
‘Accounts’ 란 이름의 Application 의 모든 DB Connection 을 의미
IBM Confidential Apr 13, 2023 39
IBM Global Technology Services
© IBM Corporation 2009
Workload Management
CREATE WORKLOAD “Reporting” APPLNAME(‘Accounts’) SERVICE CLASS ‘Marketing’
CREATE WORKLOAD “Summary” SESSION_USER_GROUP(‘Deptmgr’) APPLNAME(‘Accounts’) SERVICE CLASS ‘Marketing’
IBM Confidential Apr 13, 2023 40
IBM Global Technology Services
© IBM Corporation 2009
Workload Management
WLM 은 서비스 클래스를 AIX Workload Manager(WLM) 서비스 클래스에 연결하여 AIX 의 능력을 활용할 수 있습니다 . 모든 DB2 서비스 클래스내에서 실행되는 Agent DB2 에 의해 자동적으로 AIX WLM 서비스 클래스와 연결됩니다 ..
DB2
IBM Confidential Apr 13, 2023 41
IBM Global Technology Services
© IBM Corporation 2009
Security - 향상된 Audit Facility
SQL 문장의 실행에 대한 새로운 Audit record 제공합니다 . 컴파일 환경과 Input 파라메터 값을 SQL 문장 내에 포함
Audit 로그 파일 infrastructure 의 향상된 지원합니다 .
다음을 기반으로 한 Audit 제어 구현 User 의 inclusion list, Group, 또는 Role authorization ID
Table object
Trusted Context
Audit 성능 향상
IBM Confidential Apr 13, 2023 42
IBM Global Technology Services
© IBM Corporation 2009
Security - Identity Assertion
Identity Assertion 이란 ?
3-Tier 환경에서 End-User Identity 를 Database 서버까지 쉽게 효율적으로 제공합니다 .
Database 서버와 특정 Application층 간에 Trusted Context 라는 개념을 도입
Trusted Context 의 장점 사용자 책임성
• End-User Identity 를 안다는 것은 데이터 접근 감사 능력을 향상시킵니다 .
• 공유 UserID 를 제거하고 각 사람들에게 자신들의 UserID 를 제공하여 감사를 받고 및 책임을 질 수 있도록 합니다 .
향상된 보안• 특권이 주어진 사용자들에 대해 강화된 제어를 합니다 .
• DB2 서버에 접속할 수 있는 시스템 권한 ID 의 오용에 대한 이슈를 제거합니다 .
• 최소 보안 원칙을 강제할 수 있습니다 .
IBM Confidential Apr 13, 2023 43
IBM Global Technology Services
© IBM Corporation 2009
Security - Database Role
Database Role 이란 ? Database Role 은 하나 이상의 특권을 묶은 Database Object 입니다 .
Role membership 은 User 또는 Group 에 부여되고 , Role 특권은 DB2 접속 사용자의 모든 Activity 의 사용을 위해 필요합니다 .
View, package, trigger 와 같은 SQL Object 를 생성하는 특권이 필요한 사용자에게 Role 을 할당해 줌으로써 그 SQL Object 를 생성을 허용하는 것입니다 .
Database Role 의 장점 Database 의 특권과 권한의 관리가 단순해 졌습니다 .
Database 내에서 관리되며 , Group 과는 다르게 다음을 생성할 때 적용됩니다 .
- Views, Trigger, MQT, Static SQL, SQL Routine
CREATE ROLE developer
GRANT SELECT ON TABLE SERVER TO ROLE developer
GRANT SELECT ON TABLE CLIENT TO ROLE developer
GRANT SELECT ON TABLE TOOLS TO ROLE developer
GRANT ROLE developer TO USER BOB, USER ALICE
IBM Confidential Apr 13, 2023 44
IBM Global Technology Services
© IBM Corporation 2009
설치 개선 사항
Non-root 설치 Unix 와 Linux 에 root 이외의 사용자로 설치가 가능합니다 .
root 기반의 Feature ( 예 : OS 인증 ) 가 있기 때문에 설치 후 여전히 root사용자에 의한 적용이 필요할 수 있습니다 .
FixPack 설치 Non-root 로 새로 설치시 Instance Update 단계가 필요하지 않습니다 . Fixpack 이 적용된 이후 db2iupdt 와 dasupdt 가 자동 실행됩니다 . Auto Rebind 를 사용하는 Database 는 모든 Utility 에 대해 자동 Bind 가 실행됩니다 .
Unicode Database 생성시 Unicode 가 디폴트입니다 . Non-Unicode 에서 Unicode 로 이전에 대한 Collation 호환성이 제공합니다 .
IBM Confidential Apr 13, 2023 45
IBM Global Technology Services
© IBM Corporation 2009
유지보수 개선 사항
DPF 를 위한 Single System View 제공 Database 가 multi-partition 이지만 하나의 DB 에 하는 것처럼 명령문을 발행합니다 .
• Backup database, Update configuration parameters
백업관리의 단순화 유효기간이 지난 백업이미지와 로그파일의 자동 삭제합니다 .
자동화된 백업에 대해 추가적인 옵션 제공합니다 .• Compression, incremental 과 delta backup, 백업내의 있어서의 로그파일 저장
완전한 flash copy 지원 Flash copy 를 이용한 현 수작업의 백업 및 복구를 자동화했습니다 .
Automatic Storage 개선 사항 사용되지 않는 Tablespace 의 마지막 공간은 free 됩니다 .
TSA 와 통합된 HADR 솔루션 (AIX,Linux 만 가능 )
자동화된 takeover 가 됩니다 . TSA 가 번들되어 있으며 DB2 와 함께 설치 , 설정 및 유지보수 , 삭제 됩니다 .
Failover 시나리오에 대해 DB2 가 TSA 의 cluster 구성을 관리합니다 .
IBM Confidential Apr 13, 2023 46
IBM Global Technology Services
© IBM Corporation 2009
Row Compression 개선사항
DBA 의 개입이 필요 없는 자동 Compress 한번 미리 정의된 Table size 에 도달하면 자동적으로 샘플링과
데이터에 기초하여 Dictionary 를 생성합니다 .
Dictionary 생성 이후 입력되거나 , 변경되는 모든 데이터는 Compress됩니다 .
물론 Table 은 반드시 COMPRESS YES 이어야 합니다 .
DBA 가 직접 전체 테이블 Reorg 또는 INSPECT 를 실행할 필요가 없습니다 .
IBM Confidential Apr 13, 2023 47
IBM Global Technology Services
© IBM Corporation 2009
확장성 및 성능 향상
빠른 MDC Rollout Index Cleanup Rollout 의 즉시처리 (DB2 UDB V8.2 에서 구현 )
Index Cleanup Rollout 의 Deferred 처리 (DB2 9.5)
빠른 Offline Redistribute 전반적인 end to end 성능 향상 Active Log space 요구를 줄임 Redistribute 하는 동안 Table 단위의 통제가 가능하고 진행 상황
모니터링을 향상
LOB 데이터의 성능 향상 LOB 데이터를 가진 많은 Row 를 return 할 때 성능 향상
IBM Confidential Apr 13, 2023 48
IBM Global Technology Services
© IBM Corporation 2009
확장성 및 성능 향상
실시간 통계정보 수집 (Real-Time Statistics - RTS) 실행 때 Optimizer 에게 필요로 한 On-line 통계정보 수집을 자동으로
제공합니다 .
Query 를 optimize 하기 전에 Optimizer 로 하여금 최적의 접근 경로를 생성할 수 있도록 통계정보가 존재하지 않는다면 수집해 주고 , 그리고 그 Query 를 분석하고 Query 에게 유리한 통계정보를 찾아줍니다 .
복잡한 Query 성능 향상 단일 Select 문장에 여러 개의 distinct 가 있는 Query
ORDER BY 와 FETCH FIRST n ROWS ONLY 가 있는 Query
GROUP BY 절과 함께 MIN 또는 MAX 함수를 가진 Query
큰 IN LIST 술어를 가진 Query
IBM Confidential Apr 13, 2023 49
IBM Global Technology Services
© IBM Corporation 2009
XML 개선 사항
XML Storage 개선 사항 XML Inline Storage 지원 Non-Unicode database 의 XML 지원 XML Loading 지원
XML Feature 개선사항 XMLRow, XMGroup, XSLTransform Compatible schema 의 Online 변경 XML Column 에 대한 Check constraint 지원 XML Column 에 대한 Trigger 지원 XML Replication 지원 XML Federation 지원
XQuery 개선사항 SQL/XML 과 Xquery parameter 전달이 보다 유연함 Sub-document Update 지원
IBM Confidential Apr 13, 2023 50
IBM Global Technology Services
© IBM Corporation 2009
New Data Type
10 진수를 정확하게 표현 하는 새로운 Data Type
DECFLOAT(16) => 16 자리이고 , 8 Byte 의 저장공간 Decimal float 에 대한 인코딩 및 연산은 IEEE 에 의해 상세화 됨 Precision 과 scale 가 포함되면 DECIMAL 값이 됨
Procedure 와 Application 내에서의 사용을 위한 ARRAY Data type 지원
전역변수 : Set, Select into, Values into 문을 통해 전역변수 변경 가능 Large Identifier 지원
Application 에 의해 보여지는 모든 Identifier 의 최대 Size 가 128 Byte 까지 증가• 예 : Bufferpool, Tablespace, Index extension, ADT transform group, type mapping
IBM Confidential Apr 13, 2023 51
IBM Global Technology Services
© IBM Corporation 2009
Scalar Function 의 변경사항
List 에서 최소값 LEAST/MIN LEAST(4,6,2) = 2
List 에서 최대값 GREATEST/MAX GREATEST(5,9,2) = 9
List 에서 First non-null 값 NVL / COALESCE / VALUE NVL (cast(null as integer),3,2) = 3
Inline CASE 표현식 DECODE(c1, v1, r1, v2, r2, e)
CASE c1
WHEN v1 THEN r1
WHEN v2 THEN r2
ELSE e
END
IBM Confidential Apr 13, 2023 52
IBM Global Technology Services
© IBM Corporation 2009
SQL Syntax 의 변경사항
SELECT UNIQUE SELECT DISTINCT 대신 사용
CURRVAL, NEXTVAL NEXT VALUE FOR 대신 사용 NEXT VALUE FOR seq seq.NEXTVAL
MINUS (EXCEPT 대신 사용 ) Sub-Query 에서의 연관명 (Correlation name) 이 선택적입니다 . DUAL
SYSIBM.SYSDUMMY1 테이블과 동일 SELECT CURRENT DATE FROM DUAL
2009-05-14
ROWNUM ROW_NUMBER() OVER() 와 동일 SELECT ROWNUM FROM EMPLOYEE ORDER BY SALARY
IBM Confidential Apr 13, 2023 53
IBM Global Technology Services
© IBM Corporation 2009
Tablespace REDUCE 기능
Automatic Storage Tablespace 일 경우 사용하지 않는 Tablespace 를 OS 에게 반환 (Free) 하는 기능입니다 . ALTER TABLESPACE <ts명 > REDUCE
High Water Mark (HWM) 를 줄이며 , HWM 이 줄어든 만큼 OS 에게 반환
Tablespace 의 마지막 부분의 사용 하지 않는 Space 만 반환하고 , HWM 아래 사용하지 않은 Space 는 더 이상 반환 못함
T1 T2 T3
T1 T2 T3 T4
REDUCE 후 :
REDUCE 전 :
< T4 가 삭제 후 REDUCE 실행 > HWM
IBM Confidential Apr 13, 2023 54
IBM Global Technology Services
© IBM Corporation 2009
Agenda
I. DB2 9.1 New featuresI. DB2 9.1 New features
II. DB2 9.5 New featuresII. DB2 9.5 New features
III. SummaryIII. Summary
IBM Confidential Apr 13, 2023 55
IBM Global Technology Services
© IBM Corporation 2009
DB2 9.1 Summary
구성관리 / 메모리관리 등의 자동화 지원 Self Tuning Memory Manager (STMM)
Row Compression
Table Partitioning
보안 : Label Based Access Control
PureXML 지원 유지보수 관리 향상
설치 개선 사항 간편해진 Storage 관리 Backup & Restore 기능 개선
Large Row Identifiers
Large Index 지원 Developer Workbench
그 외 기능 및 개선사항
IBM Confidential Apr 13, 2023 56
IBM Global Technology Services
© IBM Corporation 2009
DB2 9.5 Summary
Thread-based Process Model
Workload Management
Security
Audit 제어 Identity Assertion
Database Roles
유지보수 및 관리의 향상 설치 개선 사항 Compression 의 개선
확장성 및 성능 향상 XML 및 SQL 개선 그 외 기능 및 개선사항
IBM Confidential Apr 13, 2023 57
IBM Global Technology Services
© IBM Corporation 2009
Q & A