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
운영게시판
최근게시물
PostgreSQL Q&A 7393 게시물 읽기
No. 7393
VACUUM처리를 해도 원래의 사이즈로 되돌아가지 않습니다..
작성자
성실
작성일
2008-04-14 15:42ⓒ
2008-04-14 17:13ⓜ
조회수
6,189

예를 들어 말씀드리겠습니다.

아무것도 없는 상태에서 ( 데이터베이스의 디스크 사이즈 0 )
데이터베이스를 작성하고 테이블을 작성해서 디스크 사이즈를 1 쓰게 되었습니다.
그리고, 데이터를 삽입해서 사용하는 디스크 사이즈가 100 쓰게 되었습니다.
모든 데이터를 삭제(delete)를 해도 디스크 사이즈는 변함없이 100입니다.
포스트그레스 관리자 유저로 VACUUM FULL을 처리를 하면 다시 1의 상태로 돌아와야하는데.
1이 아니고 4인 상태입니다.

이 남아있는 3의 사이즈는 무엇입니까?

다시 100의 디스크 사이즈를 쓰는 데이터를 삽입하고 모두 delete하고 VACUUM처리를 하면 2-3정도가 더 남겨지게 됩니다.

몇번 테스트 해보지 않았지만, VACUUM의 처리의 의미를 제가 잘못 알고 있는 것인지, 

이렇게 아무리 적은 사이즈라도 몇년 쓰다보면 쌓이게 될텐데... 문제가 될게 분명하네요.

설명 좀 부탁드려도 될까요? 대처방안이라도... 


OS : Fedora4
postgreSQL 8.1.3 버전입니다.
postgreSQL 설정은 기본 설정입니다.

이 글에 대한 댓글이 총 5건 있습니다.

옵티마이즈 같은 정보들 아닐까요 ^-^;

궁금 ㅎㅎ >.<;;

>.<님이 2008-04-14 16:05에 작성한 댓글입니다. Edit

저도 메타 데이터들 아닐까 생각합니다.

그리고 어떤 DB도 그런 문제에서 자유로운 DB는 없으리라 생각되네요.

사실 '문제'라고 봐야하는지도 살짝 의문이구요. ^^;;;


관리되지 않고 버려진 데이터 영역이 늘어난다면 문제겠지만 어쩔 수 없이  운영하는 기간에 따라 점유하는 데이터 공간은 필요한 공간이라 생각하시는 게 좋을 듯 합니다.


솔직히 그동안 Update가 빈번한 DB에서 Vacuum이 PgSql의 가장 큰 문제 중 하나라고 생각해왔습니다. Vacuum Full이 없는 것 보다는 있는게 났지만 Vacuum Full을 하지 않아도 어느 정도 잘 돌아가야 하는데 가비지 영역을 너무 많이 남기는 것 같아서 말이죠.  아무리 옵티마이저가 좋아져도 블럭당 유효 데이터 수가 적으면 IO가 너무 많아지니까요.


이번 8.3에서 이 부분을 보완하는 기능이 추가되어 참 다행으로 생각하고 있습니다.

박성철(gyumee)님이 2008-04-15 08:32에 작성한 댓글입니다.

답변 감사합니다. 


Postgre를 쓰면서 처음으로 데이터베이스를 다루게 됐는데,


결국 8.1.3 버전에서는 답이 없다는 말씀으로 들리는군요.


이대로 10년까지는 버티겠지만. 운이 좋아 20년까지 운영이 되면 결국 문제가 발생한다는 것?


은 피할수 없군요.


지원이 없는 Postgre는 오래 운영할 서버에는 맞지 않는 데이터 베이스군요.

성실님이 2008-04-15 11:02에 작성한 댓글입니다.
이 댓글은 2008-04-15 19:39에 마지막으로 수정되었습니다. Edit

오래라는게 20년이라면, 

제가 보기에는 분명 그 사이 서버도 바꾸고 DB 버전을 바꾸든가

다른 DB로 바꿀 것입니다. 


10년이면 강산도 바뀌는데, 

아니, 사람 마음도 1년이 채 안되어 바뀌는데 말입니다.

김상기(ioseph)님이 2008-04-15 12:25에 작성한 댓글입니다.

8.1 버전에서는 답이 없다는 취지로 말씀 드린게 아니고 그게 문제가 아닌 것 아니겠냐고 말씀 드린 것입니다. 확실한 것은 좀 더 테스트 해봐야겠지만 그 공간이 무한정 늘어난다고 생각되지 않고 무엇보다 필요한 정보를 저장하기 위해 일정 공간을 사용하는 것이 문제라고 볼 수는 없으니까요.


그리고 그런 일은 Postgresql 뿐 아니라 Oracle이나 MSSQL을 사용해도 마찮가지일 것입니다.

박성철(gyumee)님이 2008-04-16 08:51에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
7396데이터를 편집해서 가져오려고 합니다. [1]
강민
2008-04-15
5878
7395정말 허접한 질문입니다..고수님들 부탁드려용^^ [2]
김성태
2008-04-15
5599
7394국내에 오픈 소스로 서비스 하는 업체가 있나요? [2]
김일권
2008-04-15
6322
7393VACUUM처리를 해도 원래의 사이즈로 되돌아가지 않습니다.. [5]
성실
2008-04-14
6189
7392깨진데이터 복구 문의 [2]
송효진
2008-04-14
6161
73918.3.1에서는 Bytea encoding 방식이 약간 수정되었습니다.
최정대
2008-04-10
6061
7390접속 중인 클라이언트 프로세스 체크는 어떻게... [2]
심상호
2008-04-08
5906
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.017초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다