SlideShare a Scribd company logo
1 of 20
데이터 마이그레이션 - (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. 실행 순서를 정한다 소스 DB 1 file copy 중간  데이터 중간  데이터 2 3 타겟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 Type INSERT? 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

What's hot

Mongodb and spatial
Mongodb and spatialMongodb and spatial
Mongodb and spatialJiyoon Kim
 
Geo tools Data Transfer
Geo tools Data TransferGeo tools Data Transfer
Geo tools Data TransferJiyoon Kim
 
GRUTER가 들려주는 Big Data Platform 구축 전략과 적용 사례: SNS 서비스 아키텍쳐 구축 사례
GRUTER가 들려주는 Big Data Platform 구축 전략과 적용 사례: SNS 서비스 아키텍쳐 구축 사례GRUTER가 들려주는 Big Data Platform 구축 전략과 적용 사례: SNS 서비스 아키텍쳐 구축 사례
GRUTER가 들려주는 Big Data Platform 구축 전략과 적용 사례: SNS 서비스 아키텍쳐 구축 사례Gruter
 
Hadoop과 SQL-on-Hadoop (A short intro to Hadoop and SQL-on-Hadoop)
Hadoop과 SQL-on-Hadoop (A short intro to Hadoop and SQL-on-Hadoop)Hadoop과 SQL-on-Hadoop (A short intro to Hadoop and SQL-on-Hadoop)
Hadoop과 SQL-on-Hadoop (A short intro to Hadoop and SQL-on-Hadoop)Matthew (정재화)
 
GRUTER가 들려주는 Big Data Platform 구축 전략과 적용 사례: Tajo와 SQL-on-Hadoop
GRUTER가 들려주는 Big Data Platform 구축 전략과 적용 사례: Tajo와 SQL-on-HadoopGRUTER가 들려주는 Big Data Platform 구축 전략과 적용 사례: Tajo와 SQL-on-Hadoop
GRUTER가 들려주는 Big Data Platform 구축 전략과 적용 사례: Tajo와 SQL-on-HadoopGruter
 
하둡 (Hadoop) 및 관련기술 훑어보기
하둡 (Hadoop) 및 관련기술 훑어보기하둡 (Hadoop) 및 관련기술 훑어보기
하둡 (Hadoop) 및 관련기술 훑어보기beom kyun choi
 
구글Fin
구글Fin구글Fin
구글Finzerk87
 
하둡 좋은약이지만 만병통치약은 아니다
하둡 좋은약이지만 만병통치약은 아니다하둡 좋은약이지만 만병통치약은 아니다
하둡 좋은약이지만 만병통치약은 아니다민철 정민철
 
Ch9 프로세스의 메모리 구조
Ch9 프로세스의 메모리 구조Ch9 프로세스의 메모리 구조
Ch9 프로세스의 메모리 구조Minchul Jung
 
Hadoop 제주대
Hadoop 제주대Hadoop 제주대
Hadoop 제주대DaeHeon Oh
 
빅데이터 구축 사례
빅데이터 구축 사례빅데이터 구축 사례
빅데이터 구축 사례Taehyeon Oh
 
하둡 알아보기(Learn about Hadoop basic), NetApp FAS NFS Connector for Hadoop
하둡 알아보기(Learn about Hadoop basic), NetApp FAS NFS Connector for Hadoop하둡 알아보기(Learn about Hadoop basic), NetApp FAS NFS Connector for Hadoop
하둡 알아보기(Learn about Hadoop basic), NetApp FAS NFS Connector for HadoopSeungYong Baek
 
20180714 하둡 스터디 종료 보고 및 연구과제 발표자료
20180714 하둡 스터디 종료 보고 및 연구과제 발표자료20180714 하둡 스터디 종료 보고 및 연구과제 발표자료
20180714 하둡 스터디 종료 보고 및 연구과제 발표자료BOMI KIM
 
구글의 공룡화
구글의 공룡화구글의 공룡화
구글의 공룡화juhyun
 
An introduction to hadoop
An introduction to hadoopAn introduction to hadoop
An introduction to hadoopMinJae Kang
 
about hadoop yes
about hadoop yesabout hadoop yes
about hadoop yesEunsil Yoon
 
[Pgday.Seoul 2017] 1. PostGIS의 사례로 본 PostgreSQL 확장 - 장병진
[Pgday.Seoul 2017] 1. PostGIS의 사례로 본 PostgreSQL 확장 - 장병진[Pgday.Seoul 2017] 1. PostGIS의 사례로 본 PostgreSQL 확장 - 장병진
[Pgday.Seoul 2017] 1. PostGIS의 사례로 본 PostgreSQL 확장 - 장병진PgDay.Seoul
 

What's hot (19)

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

Similar to CUBRIDInside_5th_CUBRID_Migration Process_DHLee

[2015 07-06-윤석준] Oracle 성능 최적화 및 품질 고도화 4
[2015 07-06-윤석준] Oracle 성능 최적화 및 품질 고도화 4[2015 07-06-윤석준] Oracle 성능 최적화 및 품질 고도화 4
[2015 07-06-윤석준] Oracle 성능 최적화 및 품질 고도화 4Seok-joon Yun
 
MySQL_SQL_Tunning_v0.1.3.docx
MySQL_SQL_Tunning_v0.1.3.docxMySQL_SQL_Tunning_v0.1.3.docx
MySQL_SQL_Tunning_v0.1.3.docxNeoClova
 
MariaDB 마이그레이션 - 네오클로바
MariaDB 마이그레이션 - 네오클로바MariaDB 마이그레이션 - 네오클로바
MariaDB 마이그레이션 - 네오클로바NeoClova
 
Pg day seoul 2016 session_02_v1.0_ff
Pg day seoul 2016 session_02_v1.0_ffPg day seoul 2016 session_02_v1.0_ff
Pg day seoul 2016 session_02_v1.0_ffPgDay.Seoul
 
빅데이터 기술 현황과 시장 전망(2014)
빅데이터 기술 현황과 시장 전망(2014)빅데이터 기술 현황과 시장 전망(2014)
빅데이터 기술 현황과 시장 전망(2014)Channy Yun
 
MySQL_MariaDB-성능개선-202201.pptx
MySQL_MariaDB-성능개선-202201.pptxMySQL_MariaDB-성능개선-202201.pptx
MySQL_MariaDB-성능개선-202201.pptxNeoClova
 
Spark+Cassandra Data pipeline optimazation at recommend system for recommend ...
Spark+Cassandra Data pipeline optimazation at recommend system for recommend ...Spark+Cassandra Data pipeline optimazation at recommend system for recommend ...
Spark+Cassandra Data pipeline optimazation at recommend system for recommend ...SuseongPark
 
Mongodb 특징 분석
Mongodb 특징 분석Mongodb 특징 분석
Mongodb 특징 분석Daeyong Shin
 
Spark + S3 + R3를 이용한 데이터 분석 시스템 만들기
Spark + S3 + R3를 이용한 데이터 분석 시스템 만들기Spark + S3 + R3를 이용한 데이터 분석 시스템 만들기
Spark + S3 + R3를 이용한 데이터 분석 시스템 만들기AWSKRUG - AWS한국사용자모임
 
elasticsearch_적용 및 활용_정리
elasticsearch_적용 및 활용_정리elasticsearch_적용 및 활용_정리
elasticsearch_적용 및 활용_정리Junyi Song
 
(11th korea data_tech_seminar)using_mongo_db_4.0_and_nosql_inbum_kim(skc&c)
(11th korea data_tech_seminar)using_mongo_db_4.0_and_nosql_inbum_kim(skc&c)(11th korea data_tech_seminar)using_mongo_db_4.0_and_nosql_inbum_kim(skc&c)
(11th korea data_tech_seminar)using_mongo_db_4.0_and_nosql_inbum_kim(skc&c)InBum Kim
 
SQL-on-Hadoop with Apache Tajo, and application case of SK Telecom
SQL-on-Hadoop with Apache Tajo,  and application case of SK TelecomSQL-on-Hadoop with Apache Tajo,  and application case of SK Telecom
SQL-on-Hadoop with Apache Tajo, and application case of SK TelecomGruter
 
Apache spark 소개 및 실습
Apache spark 소개 및 실습Apache spark 소개 및 실습
Apache spark 소개 및 실습동현 강
 
몽고디비교육1일차
몽고디비교육1일차몽고디비교육1일차
몽고디비교육1일차seung-hyun Park
 
Migration to Azure Database for MySQL
Migration to Azure Database for MySQLMigration to Azure Database for MySQL
Migration to Azure Database for MySQLrockplace
 
[D2 COMMUNITY] Spark User Group - 스파크를 통한 딥러닝 이론과 실제
[D2 COMMUNITY] Spark User Group - 스파크를 통한 딥러닝 이론과 실제[D2 COMMUNITY] Spark User Group - 스파크를 통한 딥러닝 이론과 실제
[D2 COMMUNITY] Spark User Group - 스파크를 통한 딥러닝 이론과 실제NAVER D2
 
Spark streaming tutorial
Spark streaming tutorialSpark streaming tutorial
Spark streaming tutorialMinho Kim
 

Similar to CUBRIDInside_5th_CUBRID_Migration Process_DHLee (20)

[2015 07-06-윤석준] Oracle 성능 최적화 및 품질 고도화 4
[2015 07-06-윤석준] Oracle 성능 최적화 및 품질 고도화 4[2015 07-06-윤석준] Oracle 성능 최적화 및 품질 고도화 4
[2015 07-06-윤석준] Oracle 성능 최적화 및 품질 고도화 4
 
MySQL_SQL_Tunning_v0.1.3.docx
MySQL_SQL_Tunning_v0.1.3.docxMySQL_SQL_Tunning_v0.1.3.docx
MySQL_SQL_Tunning_v0.1.3.docx
 
MariaDB 마이그레이션 - 네오클로바
MariaDB 마이그레이션 - 네오클로바MariaDB 마이그레이션 - 네오클로바
MariaDB 마이그레이션 - 네오클로바
 
Pg day seoul 2016 session_02_v1.0_ff
Pg day seoul 2016 session_02_v1.0_ffPg day seoul 2016 session_02_v1.0_ff
Pg day seoul 2016 session_02_v1.0_ff
 
빅데이터 기술 현황과 시장 전망(2014)
빅데이터 기술 현황과 시장 전망(2014)빅데이터 기술 현황과 시장 전망(2014)
빅데이터 기술 현황과 시장 전망(2014)
 
MySQL_MariaDB-성능개선-202201.pptx
MySQL_MariaDB-성능개선-202201.pptxMySQL_MariaDB-성능개선-202201.pptx
MySQL_MariaDB-성능개선-202201.pptx
 
Spark+Cassandra Data pipeline optimazation at recommend system for recommend ...
Spark+Cassandra Data pipeline optimazation at recommend system for recommend ...Spark+Cassandra Data pipeline optimazation at recommend system for recommend ...
Spark+Cassandra Data pipeline optimazation at recommend system for recommend ...
 
Druid+superset
Druid+supersetDruid+superset
Druid+superset
 
Mongodb 특징 분석
Mongodb 특징 분석Mongodb 특징 분석
Mongodb 특징 분석
 
Spark + S3 + R3를 이용한 데이터 분석 시스템 만들기
Spark + S3 + R3를 이용한 데이터 분석 시스템 만들기Spark + S3 + R3를 이용한 데이터 분석 시스템 만들기
Spark + S3 + R3를 이용한 데이터 분석 시스템 만들기
 
elasticsearch_적용 및 활용_정리
elasticsearch_적용 및 활용_정리elasticsearch_적용 및 활용_정리
elasticsearch_적용 및 활용_정리
 
(11th korea data_tech_seminar)using_mongo_db_4.0_and_nosql_inbum_kim(skc&c)
(11th korea data_tech_seminar)using_mongo_db_4.0_and_nosql_inbum_kim(skc&c)(11th korea data_tech_seminar)using_mongo_db_4.0_and_nosql_inbum_kim(skc&c)
(11th korea data_tech_seminar)using_mongo_db_4.0_and_nosql_inbum_kim(skc&c)
 
SQL-on-Hadoop with Apache Tajo, and application case of SK Telecom
SQL-on-Hadoop with Apache Tajo,  and application case of SK TelecomSQL-on-Hadoop with Apache Tajo,  and application case of SK Telecom
SQL-on-Hadoop with Apache Tajo, and application case of SK Telecom
 
Hadoop administration
Hadoop administrationHadoop administration
Hadoop administration
 
Apache spark 소개 및 실습
Apache spark 소개 및 실습Apache spark 소개 및 실습
Apache spark 소개 및 실습
 
몽고디비교육1일차
몽고디비교육1일차몽고디비교육1일차
몽고디비교육1일차
 
Infiniflux introduction
Infiniflux introductionInfiniflux introduction
Infiniflux introduction
 
Migration to Azure Database for MySQL
Migration to Azure Database for MySQLMigration to Azure Database for MySQL
Migration to Azure Database for MySQL
 
[D2 COMMUNITY] Spark User Group - 스파크를 통한 딥러닝 이론과 실제
[D2 COMMUNITY] Spark User Group - 스파크를 통한 딥러닝 이론과 실제[D2 COMMUNITY] Spark User Group - 스파크를 통한 딥러닝 이론과 실제
[D2 COMMUNITY] Spark User Group - 스파크를 통한 딥러닝 이론과 실제
 
Spark streaming tutorial
Spark streaming tutorialSpark streaming tutorial
Spark streaming tutorial
 

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. 실행 순서를 정한다 소스 DB 1 file copy 중간 데이터 중간 데이터 2 3 타겟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 Type INSERT? UPDATE? DELETE? 반영할 로그 테이블들
  • 18. 5. 데이터 검증 - 소스와 타겟의 데이터 비교
  • 19. 5. 데이터 검증 테이블 별 데이터 비교 - 소스와 타겟에서 생성한 데이터 파일을 sort 한 후 diff로 비교 예) sort srcA.txt > srcB.txt; sort tgtA.txt >tgtB.txt diff srcB.txt tgtB.txt 테이블 별 전체 카운트 비교 - 소스 테이블과 타겟 테이블의 각 카운트를 텍스트로 내린 후 diff로 비교