테이블 크기 산정
Tibero DB 테이블 크기 산정 방법에 대해 설명합니다.
Row의 데이터 길이
테이블 크기를 산정하기 위해서는 컬럼의 데이터 타입별 실제 소비 크기와 저장되는 길이를 산정해야 합니다. 이 정보는 테이블 크기를 산정하기 위한 항목별 크기 산정 방법에 사용됩니다.
아래는 컬럼 정의 및 계산 방식의 예입니다. 크기 산정 테이블은 5개의 컬럼으로 구성되었다고 가정합니다.
이름
데이터타입
데이터길이
비고
c1
CHAR(10)
10
c2
DATE
8
c3
NUMBER(7,2)
4
roundup(7/2)
c4
CHAR(500)
500
c5
VARCHAR(3000)
2,100
3,000 * 0,7
Row의 데이터 길이
2,622
c1 + c2+ c3 + c4 + c5
"데이터 타입별 크기 산정"의 데이터 타입별 사이즈 표를 참고하여 위 테이블을 구성하는 각 컬럼의 데이터 타입별 실제 소비사이즈를 산정하면 아래와 같습니다.
구분
설명
CHAR
문자열의 길이는 byte와 문자를 기준으로 지정한다. CHAR(10) = 10, CHAR(500) = 500
DATE
고정 8bytes 이다.
NUMBER
크기를 2로 나누어 반올림한 값이다. NUMBER(7,2) = roundup(7/2) = 4
VARCHAR
지정된 길이의 70%로 가정한다. VARCHAR(3000) = 3,000 * 0,7 = 2,100
항목별 크기 산정
테이블 크기를 산정하기 위해 필요한 항목은 아래와 같습니다.
크기 예는 각 항목별로 기본으로 정해진 크기, 파라미터로 설정할 수 있는 크기와 운영할 시스템에서 사전 조사된 수치를 나타냅니다.
항목
크기 예
단위
설명
Row Directory
2
bytes
row 하나당 bytes
Row Header
3
bytes
row 하나당 bytes
250bytes 이하 컬럼개수
3
개수
위의 Row의 데이터 길이 테이블에 c1, c2, c3가 대상
250bytes 초과 컬럼개수
2
개수
위의 Row의 데이터 길이 테이블에 c4, c5가 대상
Block Size
8192
개수
기본값: 8192 (파라미터)
Block Header
48
bytes
고정 (Fixed Header)
INITRANS
2
개수
기본값: 2 (파라미터)
PCTFREE
10
%
기본값: 10% (파라미터)
ITL 공간
48
bytes
24 * 2 (24 * INITRANS)
초기 예상 건수
100,000
Rows
사용자 환경
월중 예상 추가 건수
20,000
Rows
사용자 환경
데이터 보관 월 수
120
개월
사용자 환경
250bytes 이하 및 초과 컬럼 개수는 Row의 데이터 길이 테이블을 참고합니다. 초기 예상 건수, 월중 예상 추가 건수, 데이터 보관 월 수는 운영할 시스템의 사용자 환경의 정보입니다.
테이블 크기 산정 방법
본 절에서는 Tibero에서 테이블 크기를 산정하는 방법에 대해서 설명합니다.
한 Row 저장에 필요한 공간
산정 공식
한 Row 저장에 필요한 공간 = Row Directory + Row Header + Row의 데이터 길이
+ (1 * <250bytes 이하 컬럼개수>) + (3 * <250bytes 초과 컬럼개수>)
Row Directory
2
2
Row Header
3
3
Row의 데이터 길이
2,622
2622
250bytes 이하 컬럼개수
3
1 * 3
1 * 250bytes 이하 컬럼개수
250bytes 초과 컬럼개수
2
3 * 2
3 * 250bytes 초과 컬럼개수
Row Space
2,636
2+3+2622+(1*3)+(3*2)
한 블록의 데이터 공간
block당 사용 가능한 데이터 공간 크기입니다.
산정 공식
한 블록의 데이터 공간 = (Block Size - Block Header - ITL공간) * (100 - PCTFREE) / 100
항목
사전 정보 크기
실제 저장 크기
비고
Block Size
8192
8192
Block Header
48
48
ITL공간
48
48
24 * 2 (24 * INITRANS)
PCTFREE
10
10
Data Space per Block
7,286
(8192-48-48)*(100-10)/100
한 블록에 들어갈 수 있는 Row 개수
산정 공식
/ Row Space ( 한 블록의 데이터 공간 / 한 Row의 저장에 필요한 공간 )
항목
사전 정보 크기
실제 저장 크기
비고
Data Space per Block
7,286
7,286
Row Space
2,636
2,636
Row Size per Block
2
7,286 / 2,636
총 데이터 Row 개수
산정 공식
총 데이터 Row 개수 = <초기 예상 건수> + <월중 예상 추가 건수> * (<데이터 보관 월 수> + 1)
항목
사전 정보 크기
실제 저장 크기
비고
초기 예상 건수
100,000
100,000
월중 예상 추가 건수
20,000
20,000
데이터 보관 월 수
120
120+1
<데이터 보관 월 수> + 1
Total Row Size
2,520,000
100,000 +20,000 *(120+1)
필요한 총 데이터 공간
산정공식
필요한 총 데이터 공간 = Block Size * Total Row Size / Row Size per Block (Block Size
* 총 데이터 Row 개수 / 한 블록에 들어갈 수 있는 Row 개수)
항목
사전 정보 크기
실제 저장 크기
비고
Block Size
8,192
8,192
Total Row Size
2,520,000
2,520,000
Row Size per Block
2
2
Total Table Size
10,321,920,000 (9.613037GB)
8,192 * 2,520,000 / 2
Last updated