Your SlideShare is downloading. ×
0
   
Agenda I.  DB2 9.1 New features II. DB2 9.5 New features III. Summary
Agenda I.  DB2 9.1 New features II. DB2 9.5 New features III. Summary
DB2  발전 과정 <ul><li>IBM 의  DB2 UDB 는  1983 년 출시된 최초의 상용  RDBMS 로 업계의 신기술과  IBM 의  DBMS  기술을 집약하여 새로운 버전을 지속적으로 출시하여 왔으며 ,  ...
DB2  발전 과정 <ul><li>DB2 9 은 더욱 강화된 자율 컴퓨팅 기술 (SMART)  및 보안 과  PureXML  기술 등의 차세대  DBMS 의 핵심 기술을 포함하고 있습니다 . DB2 의 차세대 제품들은 ...
자동화 <ul><li>DB2 9 Database 는 새로 생성시 많은 부분이 자동화 기능을 기본적으로 제공합니다 . </li></ul><ul><ul><li>자동 튜닝 메모리 관리 </li></ul></ul><ul><ul...
STMM - Self Tuning Memory Manager  <ul><li>STMM 이라는 파격적인 메모리 관리기법을 제공합니다 . </li></ul><ul><ul><li>주요   D atabase  메모리 관련  P...
STMM -  작동 모드 <ul><li>2 가지 다른 모드로 작동합니다 . </li></ul><ul><ul><li>DATABASE_MEMORY  파라메터 튜닝 함 </li></ul></ul><ul><ul><ul><li>...
STMM –  중요  Index  삭제 order of execution After drop index – Average times Time
STMM –  한 서버 내의  2 Database Time Memory (in 4K pages)
Row Compression <ul><li>Null 값과  Default 값  Compression (DB2 V8 GA) </li></ul><ul><ul><li>NULL  칼럼값 </li></ul></ul><ul><ul...
Row compression <ul><li>Dictionary 를 두어 테이블의  Row 에서 반복되는 내용을 포함합니다 . </li></ul><ul><ul><li>Compress  후보는 칼럼 내에서 또는 칼럼 경계를...
Row Compression – Storage Savings <ul><li>Lempel-Ziv (LZ) based algorithm 을 통한  Compress  기능을 제공합니다 . </li></ul><ul><li>DI...
Row Compression –  성능 향상 <ul><li>Decompress 에 의한  CPU Overhead  가 있으나 전체적으로  Workload 성능은 크게 향상됩니다 . </li></ul>Overall Wor...
Row Compression - Table DDL <ul><li>CREATE Table <table name> ---> </li></ul><ul><li>| ---COMPRESS  NO--- | </li></ul><ul>...
Row Compression - Dictionary  생성 <ul><li>Classic ('Offline') Table reorg  시  Table Dictionary  가 작성됩니다 .  물론 그 테이블이  Row C...
Table partitioning <ul><li>Table (Range) Partitioning  이란 ? </li></ul><ul><ul><li>하나의 테이블이 테이블 칼럼 값에 따라 여러 개의 데이터 파티션 ( 또는...
Table partitioning –  관리 효율성 <ul><li>시간이 오래 걸리는 유지보수 작업을  Data Partition 별 여러 작업으로 나누어 수행할 수 있습니다 . </li></ul><ul><ul><li>...
Table partitioning – Roll-in  과  Roll-out <ul><li>테이블로부터 데이터를 쉽게  roll-in  또는  roll-out  할 수 있습니다 . </li></ul><ul><ul><li>...
Table partitioning - Syntax CREATE TABLE orders(… delivery DATE)  IN tbsp1, tbsp2, tbsp3, tbsp4  PARTITION BY RANGE(delive...
Hybrid Partition <ul><li>Database Partitioning, Table Partitioning  과  Muti Dimensional Clustering 이 같은 테이블에서 동시에 사용될 수 있습...
Security – Label Based Access Control <ul><li>Label Based Access Control (LBAC)  </li></ul><ul><ul><li>사용자와  Data Row 에 관련...
Security – Label Based Access Control <ul><li>Row Label 은  Label component 의 개수와 관계없이 하나의  Column 으로 표시됩니다 . </li></ul><ul...
Security – Label Based Access Control SELECT * FROM EMP WHERE SALARY >= 50000
pureXML  지원 <ul><li>Table 은  Relational Column 과 함께  XML Column 을 함께 가질 수 있습니다 .  </li></ul><ul><ul><li>Relational Column ...
설치 개선 사항 <ul><li>Multiple DB2  서버 설치 </li></ul><ul><ul><li>어떤  Path 에도  DB2 를 설치 할 수 있습니다 . </li></ul></ul><ul><ul><li>하나의...
간편해진 스토리지 관리 <ul><li>사용자는  Storage 를  DB2 에 설정하기만 하면 ,  테이블의  Space 가 추가로 필요 할 때 그  Storage 에서  DB2 가 알아서  Space 를 할당하고 사용...
간편해진 스토리지 관리 <ul><li>CREATE  DATABASE  DB1  </li></ul><ul><li>AUTOMATIC  STORAGE  YES </li></ul><ul><li>CREATE  DATABASE  ...
Backup  과  Restore <ul><li>REBUILD  옵션을 이용한  Restore </li></ul><ul><ul><li>선택된  Tablespace  백업으로  Partial Database  구축가능 <...
Large Tablespace design <ul><li>Large Row Identifiers :  대용량  Table  지원하기 위해  4Byte 에서  6Byte 로 커졌습니다 . </li></ul><ul><ul>...
Less Limits <ul><li>보다 큰  Index key part 와  Column 의 수를 지원합니다 . </li></ul><ul><li>Function  명의  18 Char  이상 허용합니다 . </li><...
Locktimeout capture 기능  <ul><li>DB2_CAPTURE_LOCKTIMEOUT  라는 레지스터 변수 </li></ul><ul><ul><li>Locktimeout 이 발생했을 때의 필요 정보를 파일에...
Developer Workbench <ul><li>Developer Workbench 란 ? </li></ul><ul><ul><li>신속한  DB2  업무 개발을 돕는  Visual Tool 입니다 . </li></ul...
Agenda I.  DB2 9.1 New features II. DB2 9.5 New features III. Summary
Thread-based Process Model <ul><li>DB2 9.5 는  Thread-based Model  입니다 . </li></ul><ul><ul><li>UNIX  와  Linux  환경을 위해 변경됨 ....
Thread-based Process Model <ul><li>Process-Model 의 제한을 감소시켰습니다 . </li></ul><ul><li>Threaded engine  아키텍처로 이동 </li></ul><ul...
Thread-based Process Model <ul><li>Processing  모델 구성의 단순화를 가져 왔습니다 . </li></ul>더 이상 필요 없음 , Thread 의 수를 한정하고 싶다면  NUM_POOL...
Workload Management <ul><li>DB2 Workload 란 ? </li></ul><ul><ul><li>Workload 를 관리하기 위해  Incomming work 를 식별하기 위한  Object 입니...
Workload Management <ul><li>CREATE WORKLOAD “Reporting” APPLNAME(‘Accounts’)  SERVICE CLASS  ‘ Marketing’ </li></ul><ul><l...
Workload Management <ul><li>WLM 은 서비스 클래스를  AIX Workload Manager(WLM)  서비스 클래스에 연결하여  AIX 의 능력을 활용할 수 있습니다 .  </li></ul><u...
Security -  향상된  Audit Facility <ul><li>SQL  문장의 실행에 대한 새로운  Audit record  제공합니다 . </li></ul><ul><ul><li>컴파일 환경과  Input  파...
Security - Identity Assertion <ul><li>Identity Assertion 이란 ? </li></ul><ul><ul><li>3-Tier  환경에서  End-User Identity 를  Dat...
Security - Database Role <ul><li>Database Role 이란 ? </li></ul><ul><ul><li>Database Role 은 하나 이상의 특권을 묶은  Database Object 입...
설치 개선 사항 <ul><li>Non-root  설치 </li></ul><ul><ul><li>Unix 와  Linux 에  root 이외의 사용자로 설치가 가능합니다 . </li></ul></ul><ul><ul><li>...
유지보수 개선 사항 <ul><li>DPF 를 위한  Single System View  제공 </li></ul><ul><ul><li>Database 가  multi-partition 이지만 하나의  DB 에 하는 것처럼...
Row Compression  개선사항 <ul><li>DBA 의 개입이 필요 없는 자동  Compress </li></ul><ul><ul><li>한번 미리 정의된  Table size 에 도달하면 자동적으로 샘플링과 데...
확장성 및 성능 향상 <ul><li>빠른  MDC Rollout </li></ul><ul><ul><li>Index Cleanup Rollout 의 즉시처리  (DB2 UDB V8.2 에서 구현 ) </li></ul></...
확장성 및 성능 향상 <ul><li>실시간 통계정보 수집  (Real-Time Statistics - RTS) </li></ul><ul><ul><li>실행 때  Optimizer 에게 필요로 한  On-line  통계정...
XML  개선 사항 <ul><li>XML Storage  개선 사항 </li></ul><ul><ul><li>XML Inline Storage  지원 </li></ul></ul><ul><ul><li>Non-Unicode ...
New Data Type <ul><li>10 진수를 정확하게 표현 하는 새로운  Data Type </li></ul><ul><ul><li>DECFLOAT(16) => 16  자리이고 , 8 Byte 의 저장공간 </li...
Scalar Function 의 변경사항 <ul><li>List 에서 최소값 </li></ul><ul><ul><li>LEAST/MIN  LEAST(4,6,2) = 2  </li></ul></ul><ul><li>List ...
SQL Syntax 의 변경사항 <ul><li>SELECT UNIQUE </li></ul><ul><ul><li>SELECT DISTINCT  대신 사용 </li></ul></ul><ul><li>CURRVAL, NEXTV...
Tablespace REDUCE  기능 <ul><li>Automatic Storage Tablespace 일 경우 사용하지 않는  Tablespace 를  OS 에게 반환 (Free) 하는 기능입니다 . </li></u...
Agenda I.  DB2 9.1 New features II. DB2 9.5 New features III. Summary
DB2 9.1 Summary <ul><li>구성관리  /  메모리관리 등의 자동화 지원 </li></ul><ul><li>Self Tuning Memory Manager (STMM) </li></ul><ul><li>Row...
DB2 9.5 Summary <ul><li>Thread-based Process Model </li></ul><ul><li>Workload Management </li></ul><ul><li>Security </li><...
감사합니다 Q & A
Upcoming SlideShare
Loading in...5
×

DB2 9 New features and Upgrade 1 (PPT 3,203 KB)

1,201

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,201
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
21
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • To replace the title / subtitle with your own: Click on the title block -&gt; select all the text by pressing Ctrl+A -&gt; press Delete key -&gt; type your own text
  • Transcript of "DB2 9 New features and Upgrade 1 (PPT 3,203 KB)"

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

      Clipping is a handy way to collect important slides you want to go back to later.

    ×