Background Image
조회 수 24551 추천 수 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


  1. 데이터베이스 자동시작 설정(CUBRID 7.3.0).

    Date2009.01.17 CategoryCUBRID 매니저 By윤희서 Views23155
    Read More
  2. 데이터베이스 자동시작 설정(CUBRID 2008 R 1.2).

    Date2009.01.31 CategoryCUBRID 매니저 By윤희서 Views20187
    Read More
  3. 데이터베이스 볼륨 자동 증가 설정

    Date2009.04.01 Category운영관리 By남재우 Views18809
    Read More
  4. 데이터베이스 마이그레이션(unloaddb & loaddb) 의 효과적인 수행방법

    Date2012.04.14 Category마이그레이션 Bycubebridge Views24551
    Read More
  5. 데이터 필드의 타입 변경하기

    Date2008.11.21 Category질의작성 Byadmin Views18420
    Read More
  6. 데이터 존재하면 update, 존재하지 않으면 insert 방법(ON DUPLICATE KEY UPDATE)

    Date2010.08.11 Category질의작성 By손승일 Views38007
    Read More
  7. 데이터 입력 중 디스크 공간 부족 오류가 발생하였을 때, 복구 방법

    Date2012.06.30 Category운영관리 By이용미 Views14334
    Read More
  8. 데이터 값 작은 따옴표(') 넣기

    Date2009.03.20 Category질의작성 By정만영 Views23815
    Read More
  9. 다중 row를 하나의 column에 넣기

    Date2009.03.13 Category질의작성 By정만영 Views20089
    Read More
  10. 그루비로 큐브리드 함수(or 프로시저) 만들기 by 행복개발자(cyberuls)

    Date2009.07.14 Category응용개발 By시난 Views18754
    Read More
  11. 게시판 응용 중 조회수로 정렬하는 경우 인덱스 생성 방법

    Date2012.06.23 Category질의작성 By손승일 Views13908
    Read More
  12. 각 테이블 PK 유무 확인 쿼리문

    Date2016.01.01 Category질의작성 By엄기호 Views9022
    Read More
  13. 각 데이터베이스에 개별적 파라미터 적용하는 방법

    Date2009.11.30 Category운영관리 By정만영 Views10183
    Read More
  14. windows에서의 Build 오류 발생 시 조치방법

    Date2009.05.19 Category기타 Bycubebridge Views14255
    Read More
  15. windows 환경에서 압축파일로 CUBRID 설치시 환경변수 쉽게 설정하기

    Date2015.07.02 Category운영관리 By김승훈 Views6997
    Read More
  16. windows 환경에서 Manager 접속이 되지 않는 경우 처리 방안

    Date2010.11.26 Category운영관리 By남재우 Views14424
    Read More
  17. windows 에서 CUBRID 설치후 CUBRID manager client 최초 연결시 연결 오류 발생 대처 방법

    Date2009.05.21 CategoryCUBRID 매니저 By남재우 Views17714
    Read More
  18. windows vista 환경의 csql에서 ;edit 실행시 오류발생하는 경우

    Date2009.05.27 Category기타 By손승일 Views16686
    Read More
  19. weblogic 8.1 에 CUBRID Connection Pool, DataSource 설정 방법

    Date2009.07.01 Category응용개발 By웁쓰 Views66306
    Read More
  20. utf-8로 저장된 한글이 JAVA SP를 사용하여 읽어 오면 깨져 보일때

    Date2012.03.10 Category응용개발 By손승일 Views20802
    Read More
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