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
운영게시판
최근게시물
DB2 Tutorials 429 게시물 읽기
 News | Q&A | Columns | Tutorials | Devel | Files | Links
No. 429
파티션! 그것이 알고 싶다?
작성자
정재익(advance)
작성일
2002-10-17 19:32
조회수
8,090

파티션! 그것이 알고 싶다?

 

원본출처 : http://my.dreamwiz.com/ibkcis/

 

안녕하세요? DB2 사용자 여러분!

 

오늘은 파티션테이블스페이스에 대해 함께 얘기해보았으면 합니다. 이론적인것보다는 실제운영적인 측면에서 생각해보야할 내용을 주제로 했으면합니다.

 

나름데로 환경에 맞게 운영한다고 하고 있지만, 과연... 내가 운영관리하고 있는방법이 정말 최선일까? 더 좋은방법은 없을까? 내가 모르거나 잘못이해하고 있는 부분은 없을까? 기타등등...

 

파티션테이블스페이스에대한 궁금증은 무지무지 많습니다. 그러나 아쉽게도 어디에서도 이런궁금증을 속시원하게 얘기해주거나 허심탄회하게 논의할 기회나 장소가 없었답니다. 일전에 어떤분은 그게 DBA가 할 일이고 모든 것은 매뉴얼에 있다고 대답했습니다. 아주 훌륭한 답변이었지만 우메한 저에게는 아주 슬픈답변 이었답니다.

 

그래서...

 

이런 자리를 빌어 여러분과 이론적인은것은 물론이고 평소궁금했던 내용들을 서로 논의하고, 실제로 현업에서 구현하고 있는 내용을 함께 얘기하고 자기만의 노하우를 공유한다면 서로에게 힌트(!)가 되고 도움이 되지 않을까하여 이렇게 글을 올리게 되었습니다. 진심으로 여~러~분의 적극적인 호응(?)이 있었으면 하는 바램입니다. 만약 이번에도 여러분의 호응이 없다면 저두 잠수를 해야겠어요.

 

매번 호소(?)를 해보았지만 메아리가 없으니....넘 공허하고 외로워서리... 특히나 게시판 관리자님은 미동조차하지 않으니...흑흑! 아마 제가 이 곳에 넘 많은 것을 기대했나봐요...

 

언제까지 이렇게 변방에서 우리들끼리 고생을 해야하는지... 우리들의 단결된 힘(?)을 보일 때 아이비엠도 보다 적극적인 움직임을 보이지 않을까 생각합니다. 많이 아시는 분은 모르는사람들을 위해...

 

모르는 사람들은 더 많이 알기위해....

 

서로의 정보를 공유하다보면 우리들의 지식과 역량은 자꾸자꾸 높아지지 않을까....^^

 

이궁.....얘기가 또 옆으로...지송...

 

지금까지도 그래왔지만 앞으로도 DB2버전업그레이드시에는 파티션테이블스페이스에 대한 기능향상은 계속 되리라 여겨집니다.

 

현재로서는 대용량의 데이터나 시계열적인 데이터를 관리하기 위해서는 파티션테이블스페이스만이 유일한 대안(?)인 것 같으니까요. 중요한 것은 기능향상이 이루어진다고 그저 바라볼수만 없고 당장 현재의 버전(당행의경우V5)에서 지원되는 기능을 100% 효과적으로 활용하는 것인데.... 그 것이 어렵네요...

 

파티션키값의 업데이트나 파트별키범위조정등은 현재 가능하지만 파티션갯수를 추가하거나 삭제할 수 있는 기능이 없고 대용량이다 보니 NPI부분의 관리에도 많은 어려움이 따르고.. 어떻게 파티션을 정의하고 운영하는냐가 해당테이블은 물론 DB2시스템전체에 막대한(?) 영향을 미치는 것 같아요.

 

여러 가지 궁금한 것중에 우선은 세가지만 먼저 여러분과 의견을 나누어 보고자 합니다.

 

그 하나는....

 

조금은 막연한 얘기이기는 하지만 실무적으로는 DBA가 반드시 정의를 해두어야만 보다효과적인 물리설계가 이루어 질수 있을 것 같아요. 파티션테이블스페이로 등록하는 기준이 어떤 것들이 있는가 하는 것이죠. 대부분파티션으로 하면 좋을 것도 같으나 데이터셋의 갯수가 늘어나는 것이 맘에 안들고... 데이터량,데이터보관기간,업무적인성격등 나름데로 기준이 있으리라 생각합니다. 파티션으로 등록하기로 했다면 파트갯수 및 키값의 정의는 통상 어떤 기준으로 정하는지?... 질문내용이 애매(?)하고 조금 포괄적이지만 파티션테이블을 새로 정의하고자 할 때 꼭 생각해보아야 할 내용들이기에 함께 생각해보았으면 합니다.

 

그 둘은...

 

지점별로 일자별로 데이터가 계속쌓이는 테이블이면서, 테이블에는 날짜(DATE타입),지점번호(SMALLINT타입)등의 컬럼을 포함하고 있습니다. 매일매일 INSERT가 약 2,3백만건 발생하고 과거일자의 데이터는 변경이 없습니다. 데이터생성 후 DB2 테이블에 2년간 보관하고, 보관기간이 지나고나면 과거 2년전의 데이터는 보관기간이 경과되는 시점에서 매월매월 삭제하고 싶습니다. 이런 경우 파티션테이블스페이스로 등록하려면 파티션(키값)을 어떻게 구현하면 잘(?)했다고 할 수 있을까요?

 

그 셋은...

 

파티션테이블스페이스를 재편성작업시 데이터량이나 SORT볼륨등의 문제로 파트별로 나누어 재편성작업을 하게 됩니다. 이럴 경우 NPI들은 정렬상태가 흐트러지는 것 같습니다. 그렇다면 항상 NPI의 경우에는 파트별 재편성작업 후 제일 마지막에 반드시 해주어야 하나요? 마찬가지로 특정파트만 재편성을 했을 경우나, 특정 파트에만 대량의 데이터 갱신이 일어났을 경우에도 해당파트만 재편성작업을 하는것이 아니라 반드시 NPI도 함께 재편성을 해주어야 하나요?

 

우선은 이 세가지에 대해 여러분과 의견을 나누고 싶습니다.

 

실제 구현하여 운영하고 있는 사례나 혼자만 알고계시는 비법(?)을 등을 듣고 싶습니다. 꼭 여러분의 조언을 듣고 싶습니다!

 

참고로

 

먼저 저의은행의 운영상항을 말씀드리겠습니다. 먼저 생성단계에서는 제일먼저 데이터량을 먼저보게 됩니다. 물론 DB2에 최대로 보관해야할 기간까지 감안한 량이겠지요. 월기준으로 50만이상 INSERT되면서 최대보관기간 감안 500만건 이상이면 우선협상(?)대상에 둡니다. 그 다음은 그 데이터의 생성형태를 봅니다. 매번 정기적으로 쌓이는 데이터인지, 한두번 초기이행 후 조회만하는 데이터인지... 정기적으로 HISTORY개념으로 정보가 쌓이는 테이블이면 데이터량이 조금 적더라도 파티션대상!

 

다음은 파트번호의 키 정의부분인데.... 단순히 데이터량이 많은 현황정보는 고객번호나 계좌번호 지점번호등으로 적당히(?)파트번호를 나누어 정의를 해주면 별문제는 없습니다. 그런데 일자별로거래가 발생하면서 그정보를 일정기간동안만 관리하는테이블의 경우에 일단은 고민이된답니다. 단순히 생각하여 날짜컬럼을 가지고 DB2에서 지원하는 최대한의 파트갯수를 만들어두고 각 파트를 날짜로 구분하여 스페이스량으로 조절하여 관리하는 것을 생각해 볼 수 있습니다. 우선은 사용하지도 않으면서 많은D/S이 생기는 것도 마음에 안들고 문제는 최대키값에 도달했을 때 전체를 다시 키정의를 해주어야 하는 문제가 있는 것 같아요. 파트별키값을 조정하여 사용하는방법도 있을법한데...매번 스페이스조정등 그것도 번거울 것같고... 그래서 저의 은행에서는 별도의 파트번호라는 항목을 추가하여 관리하는 편법을 동원하였습니다.

 

6개,12개,24개등 테이블성격에 맞게 파트수를 정하고 데이터를 추가할 때 해당월에 맞는 파트번호를 계산 하여 관리하는 방법입니다. 고정된 파트번호별로 해당월 파트만 재편성,COPY,RUNSTATS등의 작업을 할 수 있고 보간기간이 지나면 해당파트를 바로 REPLACE로 과거테이터를 삭제할 수도 있어 관리상에는 매우편하나 별로의 컬럼을 하나 더 가지고 있어야 한다는 불합리함 때문에 고민하고 있습니다. 마지막으로 NPI 문제는 저의 은행에서는 TS의 파트별로 작업을 한 후 최종적으로 NPI부분을 재편성과 RUNSTATS 작업을 함께 해주고 있습니다.

 

이상입니다.

 

즐거운 추석 보내세요!

[Top]
No.
제목
작성자
작성일
조회
432PREFORMAT!... 그것이 알고싶다!!!
정재익
2002-10-17
8646
431DB2프로그램코딩예제
정재익
2002-10-17
16211
430PIECESIZE 란?
정재익
2002-10-17
7864
429파티션! 그것이 알고 싶다?
정재익
2002-10-17
8090
428DB2 SPACE(Tablespace,Index) 이야기
정재익
2002-10-17
10851
237ASP for DB2 UDB vs. JSP for DB2 UDB
정재익
2001-12-17
8782
236DB2 Java Stored Procedures Learning by Example
정재익
2001-12-17
8249
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2023 DSN, All rights reserved.
작업시간: 0.051초, 이곳 서비스는
	PostgreSQL v16.1로 자료를 관리합니다