Background Image
조회 수 24548 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부

     1.    테스트 배경

장비 이전 또는 엔진 버전 업그레이드할 때스키마와 데이터를 마이그레이션 하여야 한다이를 위해 큐브리드는

관리자 유틸리티인 cubrid unloaddb/cubrid loaddb를 지원하고, CM에서도 이와 동일한 데이터베이스

언로드/로드 기능을 지원한다운영자는 환경에 따라 다양한 옵션을 적용하여 작업 시간을 단축할 수 있다.

아래테스트는 cubrid unloaddb/loaddb 유틸리티가 지원하는 옵션을 적용하면서 작업 시간을테스트한 결과이다.

 

2.    테스트 환경 및 시나리오 소개/결과

 * 테스트 환경

    -   테스트장비 스펙 : SONY VAIO PCG시리즈 

                                   Intel® Core™ i5-2520M CPU@ 2.50GHz / RAM 4.00GB

    -   OS : Windows7 Enderprise K 32bit

    -   CUBRID : 2008 R4.0(8.4.0.1008)

    -   CUBRIDManager : 2008 R4.0 (8.4.0.2014)   

    -   데이터베이스크기 : 5.03GB (1,320,690page)

    -   테이블 : 129

    -   Object(Data): 13369902 objects

 

    -   Index: 263 (PK제외)

 

 

 * 시나리오 소개

l  콘솔창에서 직접 유틸리티를 실행하고, CM의 언로드/로드기능을 실행하여 작업 시간 비교

l  cubrid unloaddbloaddb 유틸리티가 지원하는 옵션을 추가하면서 작업 시간 비교

 

CM에서 데이터베이스 로드 옵션을 아래와 같이 제공한다.

운영자가 적절하게 옵션을 선택하여 작업시간을 단축할 수 있다.

1.JPG

 

<< CM의 로드 옵션 화면 >>

 

CMT에서도 타겟 DB가 오프라인일 때 내부적으로 cubrid loaddb를 사용하는데,

이 경우도 마찬가지로 아래 이미지와 같이 옵션을 모두 적용하면 더욱 빠르게 작업을 수행할 수 있다.

2.JPG

 

<<CMT의 마이그레이션 마법사 6단계 : loaddb 옵션화면 >>

 

 

3.    테스트 결과

OPTION이름
(
명령어)

스키마+데이터+인덱스
언로드/로드

스키마+데이터
언로드/로드

CM을 이용한 
언로드/로드

내보내기
(unload)

DB정지상태에서 언로드( -S )

01 15

-

02 11

DB구동 중일 때 언로드 ( -C )

01 30

-

02 21

가져오기
(load)

문법검사하지 않고 데이터 로드
( --load-only )

19 19

09 29

23 10

OID 사용 안함
( --no-oid )

18 40

12 00

29 10

통계 정보 갱신 사용 안함
( --no-statistics )

17 35

13 41

23 01

로드 중에 로그를 남기지 않음
( --no-logging)

14 13

5 20

-

로드 커밋 주기 ( -c 500)

20 29

10 35

21 55

로드 커밋 주기 ( -c 5000)

21 15

10 00

22 18

로드 커밋 주기 ( -c 10000)

19 59

10 31

19 45

FullOption (--load_only -c10000 --no-oid --no-statistics –no—logging)

13 22

03 42

18 38

 NoOption(Default)

20 01

10 11

20 05

<<데이터베이스내보내기/가져오기(unload/load) 옵션/수행방법에 따른 테스트 결과>>

 

l  요약 1> 

이터베이스 언로드는 온라인 vs 오프라인에 따른 작업 시간 차이가 없다.

다만콘솔 유틸리티를 실행하는 경우가 CM 실행 시간보다 더 빠르다.

l  요약 2>

데이터베이스 로드는 콘솔 유틸리티 실행이 CM 실행보다 더 빠르다.

CM 클라이언트- CM 서버를 거치면서 성능을 감소시키는 것으로추정되며

도구 개발팀에서 원인 분석 중이다.

l  요약 3>

커밋 단위(-c 옵션)는 본 테스트에서는 10000일 때 가장 빨랐다.

레코드 크기에 따라 5,000~10,000 수준으로 조정할 수 있다.

l  요약 4>

로깅 옵션(--no-logging)을 추가하면 데이터 입력 도중 로깅을 하지 않을므로

성능이 훨씬 향상되고 작업 시간을 크게 단축시킬 수 있다.

작업 도중 장애가 발생하는 경우 복구가 불가능하므로,

처음부터 다시마이그레이션을 수행하여야 한다이 옵션은 빈 DB에 데이터를 이전하는 경우

유용하다.

l  요약 5>

통계 정보 갱신 옵션(--no statistics)을 추가하면 데이터를 입력하면서 DB의 통계정보를 갱신하지  

않으므로성능이 향상된다주의할 점은운영자가 반드시 이전 작업 후에 수동으로 통계정보를 

갱신해주어야 정상적인 조회 결과를 얻을 수 있다 

cubrid optimizedb <db_name> 유틸리티 또는 UPDATE STATISTICS ON문을 실행 하여야 한다 

l  요약 6>

cubrid loaddb 유틸리티는 [스키마 로드à 데이터로드à 인덱스 로드]순으로 동작하는데 

테이블 크기 및 정의된 인덱스에 따라 인덱스 로드 시간이 오래 걸릴 수 있음을 감안하고  

마이그레이션 작업 시간을 예측하여야 한다.

 

 

 

4.    결론

빈 데이터베이스에 대량 데이터를 옮기는 경우작업 시간 단축을 위해서는 CM 또는 cubrid loaddb

유틸리티의 옵션으로 --no-statistics 옵션 또는/및 --no-logging옵션을 적용할 수 있다.

다만마이그레이션작업 완료 후 cubrid optimizedb 를 실행하여 통계 정보 및 최적화를 반드시 수행

하여야 한다.

 

데이터베이스 마이그레이션 관련 매뉴얼 바로가기

cubridunloaddb,loaddb 리티 / CUBRIDManager 로드 , 언로드 / CUBRIDMigration Toolkit

 출처: http://cafe.naver.com/studycubrid/866


List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
199 CUBRID 매니저 데이터베이스 자동시작 설정(CUBRID 7.3.0). 윤희서 2009.01.17 23155
198 CUBRID 매니저 데이터베이스 자동시작 설정(CUBRID 2008 R 1.2). 1 윤희서 2009.01.31 20187
197 운영관리 데이터베이스 볼륨 자동 증가 설정 남재우 2009.04.01 18801
» 마이그레이션 데이터베이스 마이그레이션(unloaddb & loaddb) 의 효과적인 수행방법 file cubebridge 2012.04.14 24548
195 질의작성 데이터 필드의 타입 변경하기 admin 2008.11.21 18420
194 질의작성 데이터 존재하면 update, 존재하지 않으면 insert 방법(ON DUPLICATE KEY UPDATE) 손승일 2010.08.11 37999
193 운영관리 데이터 입력 중 디스크 공간 부족 오류가 발생하였을 때, 복구 방법 이용미 2012.06.30 14331
192 질의작성 데이터 값 작은 따옴표(') 넣기 정만영 2009.03.20 23809
191 질의작성 다중 row를 하나의 column에 넣기 정만영 2009.03.13 20088
190 응용개발 그루비로 큐브리드 함수(or 프로시저) 만들기 by 행복개발자(cyberuls) 시난 2009.07.14 18753
189 질의작성 게시판 응용 중 조회수로 정렬하는 경우 인덱스 생성 방법 1 손승일 2012.06.23 13905
188 질의작성 각 테이블 PK 유무 확인 쿼리문 엄기호 2016.01.01 9012
187 운영관리 각 데이터베이스에 개별적 파라미터 적용하는 방법 정만영 2009.11.30 10182
186 기타 windows에서의 Build 오류 발생 시 조치방법 cubebridge 2009.05.19 14255
185 운영관리 windows 환경에서 압축파일로 CUBRID 설치시 환경변수 쉽게 설정하기 김승훈 2015.07.02 6995
184 운영관리 windows 환경에서 Manager 접속이 되지 않는 경우 처리 방안 남재우 2010.11.26 14423
183 CUBRID 매니저 windows 에서 CUBRID 설치후 CUBRID manager client 최초 연결시 연결 오류 발생 대처 방법 남재우 2009.05.21 17714
182 기타 windows vista 환경의 csql에서 ;edit 실행시 오류발생하는 경우 file 손승일 2009.05.27 16686
181 응용개발 weblogic 8.1 에 CUBRID Connection Pool, DataSource 설정 방법 file 웁쓰 2009.07.01 66306
180 응용개발 utf-8로 저장된 한글이 JAVA SP를 사용하여 읽어 오면 깨져 보일때 손승일 2012.03.10 20797
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 14 Next
/ 14

Contact Cubrid

대표전화 070-4077-2110 / 기술문의 070-4077-2113 / 영업문의 070-4077-2112 / Email. contact_at_cubrid.com
Contact Sales