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 Q&A 1686 게시물 읽기
No. 1686
parallel 처리에 대해 질문드립니다.
작성자
이도희
작성일
2008-07-16 15:46
조회수
10,638

DB cfg 파라메타에 보면 dft_degree 와


DBM cfg 파라메타의 intra_parallel / max_querydegree 있는데


세 개의 파라메터를 다 바꿔줘야 대용량 데이터를 insert할 때 parallel처리를 하게 되나요??



그리고 DBM cfg 파일의 파라메터를 변경한 후에는 DB2stop으로 instance를 내리고 다시 DB2start를 하는데


인스턴스를 내리지 않고 변경되도록 하는 방법이  혹시 있나요?









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

1. 세 개의 파라메터가 모두 디폴트값에서 변경되어야 내부 병렬처리가 구동하는것은 아닙니다.
    직접적으로는 INTRA_PARALLEL만 YES가 되면 intra parallel 처리가 됩니다.
    나머지 MAX_QUERYDEGREE 와  DFT_DEGREE는 쿼리 처리시에 병렬도에 대한 기본수를
    정하는 것일뿐 DFT_DEGREE가 디폴트로 1이어서 이 값을 -1로 하면 MAX_QUERYDEGREE
    디폴트인 -1과 매치하여 병렬처리정도를 시스템이 정하게 할수 있게 하거나,
    기본 병렬정도(DFT_DEGREE) 와 최대 병렬정도(MAX_QUERYDEGREE) 를 매뉴얼하게 설정하여
    2 ~ 4까지 하게 하겠다던지 정할수도 있습니다.


   그러나... 실제로 intra_parallel이 ~ V9.1까지로 보면 인덱스 작성정도에나 이익이 있을수 있을것이나
   이것도 V9.5 버전에서는 인덱스 작성이 기본이 병렬로 돌아가기 때문에 굳이 INTRA_PARALLEL을
   사용할 이유는 없을것으로 생각됩니다.
   
   INTRA_PARALLEL 사용시 부가되는 시스템부하와 비교하여 실제 성능에 도움이 되는 요소가 많은지
   자기 환경에 비추어 테스트를 통해 검증할수 있을겁니다.


2. DBM CFG 라고 해서 모두다 인스턴스를 내려야 하는것은 아닙니다.

   적용속성이 deferred 인것은 인스턴스를 내려야 하지만, immediately로 된것은 바로 적용되므로 

   인스턴스를 내릴 필요가 없습니다. DB CFG도 마찬가지 입니다.
wlskrkejswnd님이 2008-07-16 16:32에 작성한 댓글입니다. Edit

적용속성이 deferred 인지 immediately로 된 것인지 어떻게 알 수 있을까요?


그럼 제가 sqllib/function에 xx.so파일을 참조하는  external function을 만드는데 라이브러리 파일을 컴파일하고 so 파일이 변경되면 반영하기 위해 인스턴스를 항상 내렸다 올렸는데 이것도 다른 방법이 있나요?

이도희님이 2008-07-16 17:25에 작성한 댓글입니다. Edit

1. 파라메터에 대한 적용 속성 부분을 확인하는데 두가지 방법이 있을수 있습니다.


가. db2 inforcenter ( 예: DB2 V9.1 기준http://publib.boulder.ibm.com/infocenter/db2luw/v9//index.jsp ) 에서 파라메터 검색시 "매개변수 유형" 과 "전파 클래스"를 참조하여 deferred와 immediately를 구별하는데... 실제는 구별은 이보다 약간 더 복잡하게 몇가지 유형이 더 있습니다. 아뭏튼 한글 번역기준으로 매개변수 유형값이 "구성 가능"이면 일단 offline으로 반영되는 즉, 인스턴스를 내렸다 올려야 되는것이고, 매개변수 유형값이 "구성가능한 온라인" 이라면 인스턴스를 내렸다 올리지 않아도 되는 즉, 온라인에서 반영가능한 값이지만 전파 클래스에 따라서 반영시기가 결정됩니다. 전파클래스에 대한 통상적인 부분은 바로 적용되거나 특정조건 예를 들어 접속세션이 모두 정리된 후라던지 기존 세션은 예전값을 새 세션은 변경값을 갖는 ... 그런 조건이 성립되야 합니다.


나. dbm cfg나 db cfg 를 get 할 때 show detail 옵션을 붙이면 current value와 deferred value 를 볼수 있는데 변경후 current value가 defferred value와 같다면 온라인으로 변경되는 파라메터로 볼수 있습니다.



2. external 로 function을 작성하셨다면 bind 할 package 와 실제 실행 파일로 구분할 수 있을텐데

    db 레벨에서 보면 실행파일을 재확인 할 필요는 없을테고, 변경사항이 있다면 package 만 rebind

    하면 db레벨에서는 변경사항이 반영될텐데 인스턴스를 내렸다 올릴 필요가 없을것 같은데요?

    .so로 만들었다해도 단지 라이브러리 파일을 위해서는 인스턴스를 내렸다 올리는 작업이 불필요해 보입니다.

   

wlskrkejswnd님이 2008-07-16 18:12에 작성한 댓글입니다. Edit

답글을 보고 bind에 대한 것을 찾아봤는데 잘 모르겠습니다, ㅠㅠ


만얀에 a.so파일이 sqllib/function에 있고,


create function xx

..

external name 'a!bb'



이런 함수가 있다면,


a.so파일을 어떻게 바인드 하는건지 구체적으로 알려주실수 있을까요?

이도희님이 2008-07-17 10:19에 작성한 댓글입니다. Edit

function 모듈중에 Embedded된 SQL 부분이 있다면 그부분이 package 화 될수 있습니다.


function 모듈이 단순히 해당 Language로만으로 작성되었다면 bind 할 package도 없겠습니다.


그런데, SQL이 없이 작성하였다고 가정할 때 function에서 call하기위해 define한 .so 가 


캐쉬되는것이 아닐텐데 소스 변경을 하셨다고 굳이 인스턴스 재시작이 필요하셨는지요??

wlskrkejswnd님이 2008-07-18 10:21에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
1689DB2 서버 간 테이블 이동 방법 [1]
조성환
2008-07-23
10004
1688insert into select 관련 질문요 제발 부탁드립니다.
지창용
2008-07-23
10590
1687create table syntax [3]
김윤정
2008-07-22
11484
1686parallel 처리에 대해 질문드립니다. [5]
이도희
2008-07-16
10638
1685DB2 8버전 express 구합니다. [1]
김민규
2008-07-16
9895
1684리눅스용 db2top사용시 라이브러리 공유에러... [2]
김건우
2008-07-16
11202
1683db2agent 프로세스가 많이 뜨네요... 이유를 모르겠어요 [1]
혀니
2008-07-15
11823
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2023 DSN, All rights reserved.
작업시간: 0.049초, 이곳 서비스는
	PostgreSQL v16.1로 자료를 관리합니다