개요
US Region에 존재하는 3개의 프로젝트의 DataSet을 동일 프로젝트의 Seoul Region으로 이관한다.
Migration Process Preview
- (사전작업) View, External 의 DDL문 미리 추출
- (사전작업) 증분데이터 Sync 시간 미리 확인
- (사전작업) 작업시간에 맞춰 Sync 끝나도록 DTS job 설정
- Sync 끝난 뒤, 원본(US)과 백업(Seoul)간의 diff 진행
- 원본(US) 삭제
- 백업(Seoul) 에서 신규(Seoul) 로 DTS 실행
- Sync 끝난 뒤, 백업(Seoul)과 신규(Seoul)간의 diff 진행
- 백업(Seoul) 삭제
※ View Table 은 DDL 문 추출 하여, 이관 완료 후 생성
(작업후 코멘트)
결과적으로 US → SEOUL 로 미리 dump를 떠놓고,
작업 전에 SYNC TIME 미리 파악 후,
SYNC 끝나면 SEOUL → SEOUL 로 이관.
동일 REGION간 DATA TRANSFER이기 때문에, LIMIT 제한 없음
Migration Process
✔ 현재 구성
US Region의 Dataset을 가지고 있는 프로젝트는 아래와 같음.
1. project #1
2. project #2
3. project #3
Process Sequence
1. 백업 Dataset(Seoul) 생성 후 데이터 복제
BigQuery Data Transfer API를 사용하여 프로젝트 별 Seoul Region에 “_bak” Naming을 가진 신규 Dataset을 생성하여 데이터를 복제한다.
( ※ 만약 작업시간이 03:00 인 경우, 증분데이터 Sync 작업이 03:00 이전에 끝나도록 설정해놓아야 함)
2. 원본 Dataset(US) <-> 백업 Dataset (Seoul) 데이터 정합성 확인
데이터 복사가 정상적으로 이루어졌는지 확인 및 기존 Dataset의 증분 데이터 여부를 확인한다.
(Bigquery API를 사용해 쿼리로 행 수를 비교하는 Python Code 실행)
3. 기존 Dataset(US) 삭제
Bigquery API를 사용해서 기존 Dataset(US) 전체를 삭제하는 Python Script 실행.
4. 백업 Dataset → 신규 생성 Dataset 데이터 Migration
Dataset(Seoul)을 생성 후, BigQuery Data Transfer API를 사용하여 일반 백업을 진행한 “_bak” Dataset들을 프로젝트별로 순차적 복사 선 진행 (1~2 시간 소요 예정)
5. 백업 테이블 삭제
6. GA360 정상작동확인
GA360에서 별도의 설정변경 없이도 Seoul Region으로 데이터가 적재되는걸 확인
'GCP > BigQuery on GCP' 카테고리의 다른 글
JAVA 프로젝트로 GCP BigQuery의 INSERT/UPDATE 쿼리 실행 해보기 (0) | 2023.01.16 |
---|---|
JAVA 프로젝트로 GCP BigQuery의 Select 쿼리 실행 해보기 (0) | 2023.01.10 |
JAVA 프로젝트로 GCP BigQuery의 Dataset 가져오기 (0) | 2022.10.28 |
BigQuery Data Transfer Service 샘플 코드 (1) | 2022.09.07 |
BigQuery Region 이관(변경) 프로젝트 (0) | 2022.09.06 |