database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
ㆍOracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
Oracle Columns 9307 게시물 읽기
 News | Q&A | Columns | Tutorials | Devel | Files | Links
No. 9307
VLDB구현시 고려할 Oracle Block에 대한 Guide line
작성자
정재익(advance)
작성일
2002-01-06 13:56
조회수
10,784

VLDB 구현시 고려할 Oracle Block 에대한 Guide line

 

1) Oracle Block Size

Oracle database의 block size 는 system performance 에 굉장히 중요하다. 다음 섹션은 Oracle block size 를 결정하기 앞서 고려해야 할 몇가지

tarde-off 를 말할 것이다.VLDB 의 최적의 Oracle block size 는 4KB ~ 64KB 이다. 대부분의 일반적인 VLDB block size 는 아마도 8KB 이고 다음으로는 16KB 이다. 시스템상의 Oracle Server implementation 시 large memory object 의 가장 빠른 memory transfer 의 성능은 32KB Oracle block 과 (이론적으로) 64KB 로 부터 얻을 수 있다.

 

2) Reducing I/O Load

가장 어려운 VLDB Implementation 중에서 가장 중요한 특징은 엄청난 I/O load 이다. 큰 Oracle database block 의 사용은 이러한 I/O load 를 감소하기 위한 가장 간단한 기 술이다.

- I/O call overhead

큰 Oracle block 이 작은 Oracle block 보다 performance 잇점이 있다

 

- Index performance

Index 의 performance 는 B*tree 의 height 에 반비례한다.

Large Oracle block 은 좋은 search performance 를 제공하는 depth 가 깊지않고 넓은 index 를 보유하는 block 에 대하여 많은 key 의 storage 를 제공한다.

 

- Reduced chaining

Oracle Server 는 하나의 database block 에 적절하지않는 table, data cluster, hash cluster 들의 row들을 chaining 한다. Multi block 에 걸친 row piece 들의 chaining 은 multiple I/O 를 유발한다. 큰 Oracle block 은 row chaining 에 대한 가능성을 줄이므로서 system 에 대한 전체 I/O 의 수를 감소시킨다.

 

3) Improving Space Efficiency

Block 내에 저장된 data 량을 무시하고 각각의 Oracle block 은 약간의 overhead 를 저장하고 있다. 그러므로 database 에 저장된 block 이 작으면 작을수록 database 가 소비하는 전체 overhead 는 줄어들것이다. 그러나 large segment 에서 사용하는 larger Oracle block size 는 전체 database volume 의 2 ~ 6 퍼센트를 절약할수 있다. 이러한 절약은 performance, 운영상의 cost, 특히 backup/restore 시간에 상당한 이익을 가져 다 준다.

 

4) Preventing Concurrency Bottlenecks

큰 Oracle block 의 사용은 만일 physical database architect 가 initrans, maxtrans 의 parameter 들을 어떻게 사용하는지를 이해못한다면 concurrency bottleneck 의 위험을 증가시킨다.

Initrans 의 값은 block 내에 동시 transaction 이 예상되는 최대 transaction 수를 정해야한다.그러므로 database를 Oracle block 을 크게하여 rebuild 한다면 initrans 값도 증가해야한다.

부적절한 initrans, maxtrans 값을 설정하므로서 user session wait 를 야기시킬수 있다. 이러한 문제로 인하여 Oracle block 을 update 하는 session 은 다른 session 들이 read-consistent query 를 얻는것을 방해한다.

ITL (Interested Transaction List) 충돌은 v$lock 을 통하여 lock mode4(share) 에서 TX(Transaction enqueue) lock 에 대한 session waiting 을 알수있다. 이러한 문제는 Oracle 매뉴얼에서의 initrans, maxtrans 을 setting 하는 것을 통하여 해결될수 있다.

 

5) Trade-Offs

비록 보통보다 큰 Oracle block size 가 VLDB 에는 좋지만 아래의 조건들에 의하여 maxium Oracle block size 를 결정하도록 하라.

 

- Phsical I/O size

Oracle data block 의 size 는 phsical read 의 최대 size 를 넘어서는 안된다.

 

- Redo size

Oracle Server 의 redo log writer (LGWR) 은 hot backup mode 에 있는 tablespace 의 실행된 transaction 들에 대한 전체 Oracle block 을 online redo log file 에 write 한다. 그러므로 hot backup 시 system redo volume 을 줄이고자 한다면 Oracle database block size 를 제한해야 한다.

 

- Memory copy size

만일 Oracle block size 를 단일 operation 을 지원하는 operationg system, hardware architecture 의 memory 의 양보다 큰값을 지정하였다면 SGA 내의 large block 을 manipulating 과 관련되어 CPU load 는 증가할것이고 performance 는 감소할것이다.

 

- Concurrency limitations

Initrans, Maxtrans 의 최대허용치는 255 이다. 하나의 block 에 255 concurrent transaction 이 발생하면 결국 latch contention 이 매우 심할것이며 pctfree 를 증가시켜야 한다.

 

원본출처 : http://www.xpert.co.kr/main/jsp/ArticleRead.jsp?xid=oracle&id=31455&tpl=0&mode=u

[Top]
No.
제목
작성자
작성일
조회
9310VLDB구성시 Application 특성에 맞는 RAID (1)
정재익
2002-01-06
9772
9309RAID 의 개념 [1]
정재익
2002-01-06
11314
9308VLDB Disk 구성시 고려 사항
정재익
2002-01-06
8878
9307VLDB구현시 고려할 Oracle Block에 대한 Guide line
정재익
2002-01-06
10784
9305E-business Integration
정재익
2002-01-06
8534
9304Parallel Processing 에 의한 Performance의 향상.
정재익
2002-01-06
10117
9208Oracle 9i DBMS - 인터넷 호스팅에 최적화 된 데이터베이스 플랫폼
정재익
2002-01-03
11114
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.017초, 이곳 서비스는
	PostgreSQL v16.4로 자료를 관리합니다