테이블 스페이스 데이터들은 같은 스트라이프 셋 안에서 리밸런싱을 일으킵니다.
여기서 말하는 스트라이프 셋은 OS의 스트라이프 셋이 아니며 데이터베이스 테이블 스페이스 레벨에서 데이터를 라운드 로빈 형식으로 흩뿌리는 단위가 되는 세트를 말합니다. 테이블 스페이스가 작성될 때 디폴트로 생성되는 스트라이프 셋 번호는 0으로 새로 스트라이프 셋을 생성할 때마다 1씩 증가합니다.
Note. 스트라이프 셋이 여러 개 생성된 경우 추후, 리스토어가 수행되더라도 스트라이프 셋간 데이터 이동은 일어나지 않습니다. 즉, 리스토어시에는 기존에 존재했던 각 스트라이프 셋에 해당하는 데이터는 해당 스트라이프 셋 내에서만 적재되게 된다는 것입니다.
① 스트라이프 셋을 추가 및 스트라이프 셋 지정 없이 컨테이너를 추가하는 경우
데이터가 중.소 용량이고 데이터 리밸런싱으로 인한 부하가 적다고 판단될 때 스트라이프 셋을 추가하지 않고 컨테이너를 추가하면서 사용하려는 경우에 사용됩니다.
$db2 "alter tablespace <테이블 스페이스 이름> add ( <type> 'container-string' <numer of pages or unitsize> )"
예) db2 “alter tablespace userspace2 add ( file '/db2/db2data1/userspace2.c00005' 5000 , file '/db2/db2data2/userspace2.c00006' 5000 )
기존의 테이블 스페이스에 컨테이너가 여러개 있다면, 각 컨테이너마다 같은 사이즈로 증가시켜주는 것이 좋습니다. 다시말해 테이블 스페이스를 구성하는 각 컨테이너의 사이즈는 동일하게 해주는 것이 좋습니다. 만일 한 컨테이너만 사이즈를 증가시킨다면 리밸런싱이 일어날 뿐만 아니라 추후 컨테이너를 추가할 때마다 리밸런싱이 일어나게 됩니다. 같은 사이즈로 증가시킨다고 해도 일시적으로 리밸런싱이 일어날 수 있으나 경미한 수준입니다.
② 새로운 스트라이프 셋을 추가하여 새로 작성된 스트라이프 셋에 추가하려는 경우
이미 데이터가 대용량이 되어 기존 스트라이프 셋에 추가하면 과도한 리밸런싱이 발생할 수 있는 경우 새로운 스트라이프 셋을 추가하는 것을 권장합니다. 다만, I/O 를 잘 고려하여 새로 컨테이너를 추가할 때 필요한 컨테이너 개수와 분포를 적절히 하여야 합니다. 예를 들어 기존에 여러 개의 컨테이너를 이용하여 사용하다가 새 스트라이프 셋 추가시 이 스트라이프 셋에 아주 적은 수의 컨테이너를 추가한다면 I/O 감소가 있을 수 있고 나중에 추후 컨테이너를 더 추가함으로써 리밸런싱을 일으키게 할 소지가 있으므로 잘 고려하여야 합니다.(기존 컨테이너 개수를 유지하고 충분한 I/O 채널을 확보하는 것이 바람직합니다.)
$db2 "alter tablespace <테이블 스페이스 이름> begin new stripe set ( <type> 'container-string' <numer of pages or unitsize> )"
예) db2 “alter tablespace userspace2 begin new stripe set ( file '/db2/db2data1/userspace2.c00007' 5000 , file '/db2/db2data2/userspace2.c00008' 5000 , file '/db2/db2data2/userspace2.c00009' 5000 , file '/db2/db2data2/userspace2.c00010' 5000 , file '/db2/db2data2/userspace2.c00011' 5000 , file '/db2/db2data2/userspace2.c00012' 5000 )
③ 이미 만들어진 스트라이프 셋 중 특정 스트라이프 셋에 추가하려는 경우
이미 만들어져 있는 스프라이프 셋 중 특정한 스트라이프 셋에 컨테이너를 추가하려는 경우에 사용됩니다.
$db2 "alter tablespace <테이블 스페이스 이름> add to stripe set <stripeset number> ( <type> 'container-string' <numer of pages or unitsize> )"
예) db2 “alter tablespace userspace2 add to stripe set 1 ( file '/db2/db2data1/userspace2.c00013' 5000 , file '/db2/db2data2/userspace2.c00014' 5000 )
'Db2 > Db2 reference' 카테고리의 다른 글
link: db2top (0) | 2011.09.18 |
---|---|
DB2 UDB의 Locking 매커니즘과 동시성 제어 (0) | 2011.06.12 |
DB2 9.7에서 Oracle 기능을 사용하기 위한 순서 (0) | 2011.04.21 |
오늘 날짜 조회하기 (0) | 2011.04.21 |
DB2_COMPATIBILITY_VECTOR registry variable (0) | 2011.04.21 |