데이터 마이그레이션- (CUBRID를 타겟DB로)작성자: 이동현소속팀 / 상위부서: CUBRID 개발랩작성년월일: 2009.11.26문서범위(사외 공개) ⓒ 2009 NHN CORPORATION
0. 마이그레이션 개요 - 데이터 옮길 때 무엇을 고려해야 하나?
0.  마이그레이션 개요* 마이그레이션을 왜 하나? - 테이블 스키마 구조의 변경 - DB 제품의 변경 - 둘 다1. 데이터 매핑 - 서비스 중인 소스와 새로 구성할 타겟 간의 데이터 매핑 관계2. 실행 계획 수립 - 실행 순서, 실행 명령어, 실행시간 예측 3. 실행 스크립트 작성 - 순서별 실행4. 제한 시간 이내에 마이그레이션- 스냅샷  테이블 + 로그 테이블5. 데이터 검증  - 카운트
1. 데이터 매핑 - 어디에서 어디로?
1. 데이터 매핑고려 사항1. 소스와 타겟의 테이블 구조가 같은가??2. 테이블 구조가 다를 경우타겟에 추가/제거되는 컬럼과 그 값은 소스 데이터의 값을 가지고 결정할 수 있는가?
1. 데이터 매핑고려 사항3. 소스 테이블과 타겟 테이블의 DB가 다를 경우 매핑 컬럼 간 타입을 정의하고 확인한다.  - 호환 타입  - 타입 간 제약 조건  - 타입의 길이  - 특수 문자의 확인
2. 실행 계획 수립 - 순서, 명령어, 시간
2. 실행 계획 수립1. 실행 순서를 정한다소스 DB1file copy중간 데이터중간 데이터23타겟DB
2. 실행 계획 수립2. 실행  명령어를 정한다unload : 소스 테이블과 타겟 테이블의 구조가 다르다면 “데이터 매핑” 규칙에 의해 loaddb용 파일을 생성하는 프로그램 작성 후 수행scp : 원격으로 파일 카피를 하기 위해서 사용하는데, 암호를 물어보지 않고 전송하려면 다음의 3가지 단계를 거친다.	1) public key 생성 : ssh-keygen –t rsa 	2) 1)에서 생성된 id_rsa.pub를 타겟 장비의 ~unixID/.ssh/authorized_keys의 이름으로 복사한다.	3) authorized_keys가 이미 존재한다면 id_rsa.pub의 내용을 뒤에 붙임load: cubridloaddb --no-oid -u dba --load-only --no-logging --periodic-commit=10000 -d data_file DB_NAME
2. 실행 계획 수립3. 실행 시간을 살핀다- 실행하려는 데이터량과 실행 시간을 미리 측정하고,이를 토대로 실행 예측 시간을 수립  . unload 시간  . scp시간  . load 시간
3. 실행 스크립트 작성 - 실행 순간에는 실행 자체에만 집중하자
3. 실행 스크립트 작성모든 실행 순서를 스크립트로 자동화하자* 실제 수행할 장비에서 미리 확인할 사항- 실행 환경 (환경변수)- 파일 카피 발생시 디렉토리의   파일 생성 권한- 프로그램 라이브러리의 버전- 언어 인코딩 환경- 응용 프로그램에서 url접속시인코딩 설정예) jdbc:cubrid:123.123.123.123 :11111:DBNAME:user:pwd:charset=utf8
4. 제한 시간 이내 마이그레이션 - 처리할 양은 많고, 주어진 시간은 부족하다.
4. 제한 시간 이내 마이그레이션고려 사항 마이그레이션 작업을 모두 하기엔 서비스 정지 시간이 너무 짧다
4. 제한 시간 이내 마이그레이션마이그레이션 실행 계획 순서1)서비스 정지 전, 2)서비스 정지 중, 3)서비스 시작 이후의 3단계로 나누어 작업1) 작업 스크립트 준비2) 스냅샷 DB 백업3) 스냅샷 로딩, 로그 테이블 반영
4. 제한 시간 이내 마이그레이션스냅샷 로딩- 스냅샷 DB에서 덧글 DB에 로딩스냅샷 DB2스냅샷 DB1스냅샷 DBn……타겟DB1타겟DB 2…………타겟DB n로딩할 데이터 –  CUBRID loaddb포맷
4. 제한 시간 이내 마이그레이션로그 테이블 반영- 로그 테이블을 덧글DB에 반영타겟DB1로그반영 프로세스타겟DB 2* 어느 DB?…………타겟DB 8*DML TypeINSERT?UPDATE?DELETE?반영할 로그 테이블들
5. 데이터 검증 - 소스와 타겟의 데이터 비교
5. 데이터 검증테이블 별 데이터 비교- 소스와 타겟에서 생성한 데이터 파일을 sort 한 후 diff로 비교 예) sort srcA.txt > srcB.txt; sort tgtA.txt >tgtB.txt       diff srcB.txt tgtB.txt테이블 별 전체 카운트 비교- 소스 테이블과 타겟 테이블의 각 카운트를  텍스트로 내린 후 diff로 비교
Thank you.

More Related Content

PPTX
대규모 서비스를 지탱하는 기술 Ch 4
PPT
Google요약
PDF
GRUTER가 들려주는 Big Data Platform 구축 전략과 적용 사례: 인터넷 쇼핑몰의 실시간 분석 플랫폼 구축 사례
PDF
Expanding Your Data Warehouse with Tajo
PDF
GRUTER가 들려주는 Big Data Platform 구축 전략과 적용 사례: Bioinformatics Data를 위한 Hadoop기반...
PDF
hadoop ch1
PPTX
Tajo and SQL-on-Hadoop in Tech Planet 2013
PPTX
7부. 애플리케이션 입장에서의 성능 튜닝 (1~8장)
대규모 서비스를 지탱하는 기술 Ch 4
Google요약
GRUTER가 들려주는 Big Data Platform 구축 전략과 적용 사례: 인터넷 쇼핑몰의 실시간 분석 플랫폼 구축 사례
Expanding Your Data Warehouse with Tajo
GRUTER가 들려주는 Big Data Platform 구축 전략과 적용 사례: Bioinformatics Data를 위한 Hadoop기반...
hadoop ch1
Tajo and SQL-on-Hadoop in Tech Planet 2013
7부. 애플리케이션 입장에서의 성능 튜닝 (1~8장)

What's hot (19)

PPTX
Mongodb and spatial
PPTX
Geo tools Data Transfer
PDF
GRUTER가 들려주는 Big Data Platform 구축 전략과 적용 사례: SNS 서비스 아키텍쳐 구축 사례
PDF
Hadoop과 SQL-on-Hadoop (A short intro to Hadoop and SQL-on-Hadoop)
PDF
GRUTER가 들려주는 Big Data Platform 구축 전략과 적용 사례: Tajo와 SQL-on-Hadoop
PDF
하둡 (Hadoop) 및 관련기술 훑어보기
PPT
Google2
PPTX
구글Fin
PDF
하둡 좋은약이지만 만병통치약은 아니다
PPTX
Ch9 프로세스의 메모리 구조
PDF
Hadoop 제주대
PPTX
빅데이터 구축 사례
PDF
하둡 알아보기(Learn about Hadoop basic), NetApp FAS NFS Connector for Hadoop
PDF
20180714 하둡 스터디 종료 보고 및 연구과제 발표자료
PPT
구글의 공룡화
PPTX
An introduction to hadoop
PDF
PPTX
about hadoop yes
PDF
[Pgday.Seoul 2017] 1. PostGIS의 사례로 본 PostgreSQL 확장 - 장병진
Mongodb and spatial
Geo tools Data Transfer
GRUTER가 들려주는 Big Data Platform 구축 전략과 적용 사례: SNS 서비스 아키텍쳐 구축 사례
Hadoop과 SQL-on-Hadoop (A short intro to Hadoop and SQL-on-Hadoop)
GRUTER가 들려주는 Big Data Platform 구축 전략과 적용 사례: Tajo와 SQL-on-Hadoop
하둡 (Hadoop) 및 관련기술 훑어보기
Google2
구글Fin
하둡 좋은약이지만 만병통치약은 아니다
Ch9 프로세스의 메모리 구조
Hadoop 제주대
빅데이터 구축 사례
하둡 알아보기(Learn about Hadoop basic), NetApp FAS NFS Connector for Hadoop
20180714 하둡 스터디 종료 보고 및 연구과제 발표자료
구글의 공룡화
An introduction to hadoop
about hadoop yes
[Pgday.Seoul 2017] 1. PostGIS의 사례로 본 PostgreSQL 확장 - 장병진
Ad

Similar to CUBRIDInside_5th_CUBRID_Migration Process_DHLee (20)

PDF
실전! AWS 기반 데이터베이스 마이그레이션::최홍식::AWS Summit Seoul 2018
PDF
MariaDB 마이그레이션 - 네오클로바
PDF
스푼라디오 일본에서 한국으로 이전하기 - 최상기 (마이쿤) :: AWS Community Day 2020
PDF
공개소프트웨어 DBMS에 대한 주요 도입 및 마이그레이션 사례
PDF
Pg day seoul 2016 session_02_v1.0_ff
PPSX
Cubrid Inside 5th Session 4 Replication
PDF
여러분의 워크로드에 적합한 AWS 데이터베이스로 손쉽게 마이그레이션하기 - 최유정 (AWS 솔루션즈 아키텍트)
PDF
Oracle DB를 AWS로 이관하는 방법들 - 서호석 클라우드 사업부/컨설팅팀 이사, 영우디지탈 :: AWS Summit Seoul 2021
PDF
실시간 복제 데이터를 이관시키는 방법.pdf
PDF
농심 그룹 메가마트 : 온프레미스 Exadata의 AWS 클라우드 환경 전환 사례 공유-김동현, NDS Cloud Innovation Ce...
PDF
AWS Innovate: Best Practices for Migrating to Amazon DynamoDB - Sangpil Kim
PDF
[AWS Migration Workshop] 데이터베이스를 AWS로 손쉽게 마이그레이션 하기
PDF
고객 경험을 통한 AWS 클라우드 이전을 위한 지름길 - 김효정 (AWS 솔루션즈 아키텍트)
PDF
SK Telecom - 망관리 프로젝트 TANGO의 오픈소스 데이터베이스 전환 여정 - 발표자 : 박승전, Project Manager, ...
PDF
엔터프라이즈 클라우드 마이그레이션 준비와 실행. 그리고, 클라우드 운영 모범 사례 공유-최지웅, 오픈소스컨설팅 CTO / 장진환, 스마일샤...
PDF
변화와 혁신을 위한 클라우드 마이그레이션 – 김진우 AWS 어카운트 매니저, 이아영 네오위즈 가버너스팀 팀장, 박주희 우아한형제들 시스템신...
PDF
빠르고 안전하게 간편한 AWS로 데이터 마이그레이션 하기::최유정 (AWS 솔루션즈아키텍트)
PDF
[오픈소스컨설팅]유닉스의 리눅스 마이그레이션 전략_v3
PDF
[AWS Migration Workshop] AWS 클라우드로의 안전하고 신속한 마이그레이션 방안
PPTX
[135] 오픈소스 데이터베이스, 은행 서비스에 첫발을 내밀다.
실전! AWS 기반 데이터베이스 마이그레이션::최홍식::AWS Summit Seoul 2018
MariaDB 마이그레이션 - 네오클로바
스푼라디오 일본에서 한국으로 이전하기 - 최상기 (마이쿤) :: AWS Community Day 2020
공개소프트웨어 DBMS에 대한 주요 도입 및 마이그레이션 사례
Pg day seoul 2016 session_02_v1.0_ff
Cubrid Inside 5th Session 4 Replication
여러분의 워크로드에 적합한 AWS 데이터베이스로 손쉽게 마이그레이션하기 - 최유정 (AWS 솔루션즈 아키텍트)
Oracle DB를 AWS로 이관하는 방법들 - 서호석 클라우드 사업부/컨설팅팀 이사, 영우디지탈 :: AWS Summit Seoul 2021
실시간 복제 데이터를 이관시키는 방법.pdf
농심 그룹 메가마트 : 온프레미스 Exadata의 AWS 클라우드 환경 전환 사례 공유-김동현, NDS Cloud Innovation Ce...
AWS Innovate: Best Practices for Migrating to Amazon DynamoDB - Sangpil Kim
[AWS Migration Workshop] 데이터베이스를 AWS로 손쉽게 마이그레이션 하기
고객 경험을 통한 AWS 클라우드 이전을 위한 지름길 - 김효정 (AWS 솔루션즈 아키텍트)
SK Telecom - 망관리 프로젝트 TANGO의 오픈소스 데이터베이스 전환 여정 - 발표자 : 박승전, Project Manager, ...
엔터프라이즈 클라우드 마이그레이션 준비와 실행. 그리고, 클라우드 운영 모범 사례 공유-최지웅, 오픈소스컨설팅 CTO / 장진환, 스마일샤...
변화와 혁신을 위한 클라우드 마이그레이션 – 김진우 AWS 어카운트 매니저, 이아영 네오위즈 가버너스팀 팀장, 박주희 우아한형제들 시스템신...
빠르고 안전하게 간편한 AWS로 데이터 마이그레이션 하기::최유정 (AWS 솔루션즈아키텍트)
[오픈소스컨설팅]유닉스의 리눅스 마이그레이션 전략_v3
[AWS Migration Workshop] AWS 클라우드로의 안전하고 신속한 마이그레이션 방안
[135] 오픈소스 데이터베이스, 은행 서비스에 첫발을 내밀다.
Ad

CUBRIDInside_5th_CUBRID_Migration Process_DHLee

  • 1. 데이터 마이그레이션- (CUBRID를 타겟DB로)작성자: 이동현소속팀 / 상위부서: CUBRID 개발랩작성년월일: 2009.11.26문서범위(사외 공개) ⓒ 2009 NHN CORPORATION
  • 2. 0. 마이그레이션 개요 - 데이터 옮길 때 무엇을 고려해야 하나?
  • 3. 0. 마이그레이션 개요* 마이그레이션을 왜 하나? - 테이블 스키마 구조의 변경 - DB 제품의 변경 - 둘 다1. 데이터 매핑 - 서비스 중인 소스와 새로 구성할 타겟 간의 데이터 매핑 관계2. 실행 계획 수립 - 실행 순서, 실행 명령어, 실행시간 예측 3. 실행 스크립트 작성 - 순서별 실행4. 제한 시간 이내에 마이그레이션- 스냅샷 테이블 + 로그 테이블5. 데이터 검증 - 카운트
  • 4. 1. 데이터 매핑 - 어디에서 어디로?
  • 5. 1. 데이터 매핑고려 사항1. 소스와 타겟의 테이블 구조가 같은가??2. 테이블 구조가 다를 경우타겟에 추가/제거되는 컬럼과 그 값은 소스 데이터의 값을 가지고 결정할 수 있는가?
  • 6. 1. 데이터 매핑고려 사항3. 소스 테이블과 타겟 테이블의 DB가 다를 경우 매핑 컬럼 간 타입을 정의하고 확인한다. - 호환 타입 - 타입 간 제약 조건 - 타입의 길이 - 특수 문자의 확인
  • 7. 2. 실행 계획 수립 - 순서, 명령어, 시간
  • 8. 2. 실행 계획 수립1. 실행 순서를 정한다소스 DB1file copy중간 데이터중간 데이터23타겟DB
  • 9. 2. 실행 계획 수립2. 실행 명령어를 정한다unload : 소스 테이블과 타겟 테이블의 구조가 다르다면 “데이터 매핑” 규칙에 의해 loaddb용 파일을 생성하는 프로그램 작성 후 수행scp : 원격으로 파일 카피를 하기 위해서 사용하는데, 암호를 물어보지 않고 전송하려면 다음의 3가지 단계를 거친다. 1) public key 생성 : ssh-keygen –t rsa 2) 1)에서 생성된 id_rsa.pub를 타겟 장비의 ~unixID/.ssh/authorized_keys의 이름으로 복사한다. 3) authorized_keys가 이미 존재한다면 id_rsa.pub의 내용을 뒤에 붙임load: cubridloaddb --no-oid -u dba --load-only --no-logging --periodic-commit=10000 -d data_file DB_NAME
  • 10. 2. 실행 계획 수립3. 실행 시간을 살핀다- 실행하려는 데이터량과 실행 시간을 미리 측정하고,이를 토대로 실행 예측 시간을 수립 . unload 시간 . scp시간 . load 시간
  • 11. 3. 실행 스크립트 작성 - 실행 순간에는 실행 자체에만 집중하자
  • 12. 3. 실행 스크립트 작성모든 실행 순서를 스크립트로 자동화하자* 실제 수행할 장비에서 미리 확인할 사항- 실행 환경 (환경변수)- 파일 카피 발생시 디렉토리의 파일 생성 권한- 프로그램 라이브러리의 버전- 언어 인코딩 환경- 응용 프로그램에서 url접속시인코딩 설정예) jdbc:cubrid:123.123.123.123 :11111:DBNAME:user:pwd:charset=utf8
  • 13. 4. 제한 시간 이내 마이그레이션 - 처리할 양은 많고, 주어진 시간은 부족하다.
  • 14. 4. 제한 시간 이내 마이그레이션고려 사항 마이그레이션 작업을 모두 하기엔 서비스 정지 시간이 너무 짧다
  • 15. 4. 제한 시간 이내 마이그레이션마이그레이션 실행 계획 순서1)서비스 정지 전, 2)서비스 정지 중, 3)서비스 시작 이후의 3단계로 나누어 작업1) 작업 스크립트 준비2) 스냅샷 DB 백업3) 스냅샷 로딩, 로그 테이블 반영
  • 16. 4. 제한 시간 이내 마이그레이션스냅샷 로딩- 스냅샷 DB에서 덧글 DB에 로딩스냅샷 DB2스냅샷 DB1스냅샷 DBn……타겟DB1타겟DB 2…………타겟DB n로딩할 데이터 – CUBRID loaddb포맷
  • 17. 4. 제한 시간 이내 마이그레이션로그 테이블 반영- 로그 테이블을 덧글DB에 반영타겟DB1로그반영 프로세스타겟DB 2* 어느 DB?…………타겟DB 8*DML TypeINSERT?UPDATE?DELETE?반영할 로그 테이블들
  • 18. 5. 데이터 검증 - 소스와 타겟의 데이터 비교
  • 19. 5. 데이터 검증테이블 별 데이터 비교- 소스와 타겟에서 생성한 데이터 파일을 sort 한 후 diff로 비교 예) sort srcA.txt > srcB.txt; sort tgtA.txt >tgtB.txt diff srcB.txt tgtB.txt테이블 별 전체 카운트 비교- 소스 테이블과 타겟 테이블의 각 카운트를 텍스트로 내린 후 diff로 비교