Fragmentation(단편화)
High level에서의 Fragmentation은 Application의 성능에 심각한 저하를 초래 할 수도 있는
Disk Space의 비효과적인 이용과 관련된다.
Fragmentation은 제품에 따라 여러가지를 의미 할 수 있다.
Oracle관리 측면에서 보면, 3가지 유형의 Disk space의 단편화가 있다.
.External Fragmentation : 이것은 tablespace나 data file과 관련된다.
space 조각이 충분히 크지 않아서 장래에 사용할 수도 없는
작은 free space들이 file 전체에 여기 저기 흩어저 있는 경우가 이에 속한다.
External fragmentation은 Extent의 크기가 서로 다른 object들이 반복적으로만들어지고
삭제되면서 발생한다.
특히 Dictionary Managed Tablespace 경우 Segment level에서
Extent의 크기를 사용자가 Parameter로 변경하도록 허용하기 때문에
그런 Parameter의 잘못된 선택으로 서로 다른 크기의
extent의 생성을 야기 할 것이고 이것이 단편화의 원인이 될 수 있다.
경험상 Tablespace가 단편화되어 있을때 10% ~ 20% 정도의 성능 저하가 발생된다.
이런 tablespace의 fragmentation 문제를 해결하기 위해 Oracle이 제시하는
해결책은 Locally Managed Tablespace를 사용하라는 것이다.
.Internal fragmentation: 이것은 Segment에 할당된 space가 완전히 사용되지 않은 경우이다.
이런 Segment내의 free space는 다른 segment가 사용할 수 없으며,
결과적으로 공간 낭비를 가져온다.
Oracle Segment들은 data block들의 일렬로 늘어선 배열로 표현할 수 있다.
HWM는 이것 아래쪽의 모든 block들은 사용된적인 있는 block으로 간주되고
이것 위쪽의 block들은 사용된적이 없는 block으로 고려되는
data block에 대한 Pointer이다.
Head end of segment Tail end of segment
+----+----+----+----+------+----+------------------------+
| b1 | b2 | b3 | b4 | .... | | | | | | |
+----+----+----+----+------+----+------------------------+
data가 한번이라도 ^ 한번도 data가 저장된적이
저장된 적이 있던 block들 HWM 없는 block들
HWM 아래쪽 data block들에 data가 듬성 듬성 들어 있는 경우를 Segment space의 단편화
라고 하며 이런 경우를 internal fragmentation이 뱔생했다고 한다.
이것은 두가지 측면에서 문제를 야기한다.
1). Poor space 이용, 한 segment의 HWM 위 아래쪽의 free space는
먼저 shrink가 되지 않고 서는 다른 segment가 사용할 수 없다.
2).Poor performance, Full table scan과 같은 Operation은 수행되는 동안
data를 읽어들이기 위해 필요한 I/O보다 더 많은 I/O를 팰요로 하기 때문에
성능에 영향을 미친다.
.Object fragmentation : 이것은 Object내에서 사용된 Space가
여러개의 작은 조각들로 Disk상에 흩어져 있는 것과 관련되며
성능 문제를 야기 할 수 있다.
출처:http://www.scribd.com/doc/7979314/Oracle-White-Paper-The-Dos-and-Donts-of-....Oracle-Database-10g
'C.E > Computer network' 카테고리의 다른 글
데이터 링크 제어 (0) | 2014.06.06 |
---|---|
프로토콜의 주요요소 3가지 (0) | 2014.04.24 |