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
운영게시판
최근게시물
Firebird Columns 95 게시물 읽기
 News | Q&A | Columns | Tutorials | Devel | Files | Links
No. 95
[정보] PAGE_SIZE, LENGTH, DB파일사이즈의 관계
작성자
박정훈(duf2wjs)
작성일
2006-05-05 08:53:57
조회수
10,027

* 컬럼란의 쓰기 권한이 없어서 이곳에 적습니다. ^^;; 관리자님 옮겨주세요~~.

 

안녕하세요 일명 냐웅군으로 칭해지는 어리버리 고냥이 입니다. 쿨럭.. -_-)v

책에보니 PAGE_SIZE, LENGTH 에 대해 제가 약간 모호하게 언급을 해 놓았더군요. 사이트에 어떤분이 이것과 관련해 질문을 올리셔서 이참에 확실하게 설명을 드릴려고 합니다.

 

CREATE DATABASE 에서 멀티파일로 생성할때 PAGE_SIZE와 LENGTH 옵션을 사용할수 있습니다. 파이어버드에서는 오라클과 달리 파일사이즈를 지정해주는 방식이 아니라 PAGE_SIZE와 LENGTH 옵션을 이용해서 멀티파일의 최대 저장가능한 사이즈를 지정해 줄수 있습니다.

가령 각 멀티파일들이 10GB 이상으로 늘어나지 않게 하려면 (물론 이렇게 하더라도 제일 마지막의 DB파일을 이 설정과 상관없이 계속 사이즈가 늘어나게 됩니다) PAGE_SIZE 와 LENGTH 를 곱하기 해서 수동으로 계산을 해주어야 합니다.

 

1. PAGE_SIZE 는 설정된 5개의 값 이외의 것을 사용할수 있는지?

 

PAGE_SIZE 는 1k 2k 4k 8k 16k 중에서 고를수가 있습니다.

만약 이것에 속하지 않은 값이 있을 경우 그것보다 작은 기본 값으로 자동세팅이 되어집니다.
즉, PAGE_SIZE 10000 이라고 했을경우 10000은 기본값들 중에 없음으로 10000 보다 작은 8192 가 자동으로 세팅이 되어지는 것입니다.

2. DB파일의 사이즈는 어떻게 설정할수 있는지?


둘째. PAGE_SIZE, LENGTH, 파일사이즈의 상관관계는 간단합니다.

파일사이즈 = PAGE_SIZE * LENGTH (Byte) 입니다.

 

따라서 PAGE_SIZE를 1024로 주고, LENGTH를 10000으로 주면 1024*10000 Byte = 10Gbyte 까지만 파일 사이즈가 늘어나게 됩니다. (마지막 파일을 이것이 무시되고 계속 용량증가)

이것을 간단히 확인하려면 PAGE_SIZE 1024, LENGTH 10이렇게 작게 옵션을 줘서 확인하면 정확히 지정한 사이즈로 파일이 저장되고 오버될때는 다음의 멀티파일로 데이터가 넘어가는것을 확인할수 있습니다.

하지만 주의할점은 아래와 같이 설정을 했을때 두번째 파일부터는 실제 LENGTH 값은 설정한 LENGTH-1 이 된다는 것입니다.


SQL> create database '/database/ptest.fdb' user 'VR' password 'VR'
CON> page_size 1024 length 10
CON> file '/database/ptest2.fdb' length 10 pages
CON> file '/database/ptest3.fdb';

즉, ptest2.fdb 파일의 사이즈는 1024Kbyte 가 아닌 9216 Byte 까지만 늘어나게 됩니다. 이유인즉슨, ptest.fdb 가 Length 10까지 저장되고, ptest2.fdb 는 Length 11 부터 저장이 되기 때문에 실제로는 11~20까지 저장이 되기 때문입니다.

약간 헛갈리죠? ^^. 헛갈림을 방지하려면 STARTING AT 옵션을 지정해서 정확히 시작지점을 지정해 주면 됩니다.

[Top]
No.
제목
작성자
작성일
조회
95[정보] PAGE_SIZE, LENGTH, DB파일사이즈의 관계
박정훈
2006-05-05
10027
90[버그] isql 의 input 문의 버그
박정훈
2006-02-13
9032
89[버그] FLOAT 데이터타입의 오묘한 버그 [3]
박정훈
2005-09-27
13542
79오라클의 substr와 UDF의 substr는 같지 않습니다.
이중철
2006-01-20
10707
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2018 DSN, All rights reserved.
작업시간: 0.077초, 이곳 서비스는
	PostgreSQL v10.4로 자료를 관리합니다