테이블 크기 산정

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