GCP/BigQuery on GCP

BigQuery Data Transfer 계획

whistory 2022. 9. 6. 08:51
반응형

 

 

개요

US Region에 존재하는 3개의 프로젝트의 DataSet을 동일 프로젝트의 Seoul Region으로 이관한다.

 

 

 

 

BigQuery Data Transfer Service 샘플 코드

데이터 세트 복사 | BigQuery Data Transfer Service | Google Cloud 데이터 세트 복사 | BigQuery Data Transfer Service | Google Cloud 전송 구성을 만들어 프로젝트, 위치 또는 둘 다에서 데이터 세트의 모든 테이블을 복

whiseung.tistory.com


Migration Process Preview

  1. (사전작업) View, External 의 DDL문 미리 추출
  2. (사전작업) 증분데이터 Sync 시간 미리 확인
  3. (사전작업) 작업시간에 맞춰  Sync 끝나도록 DTS job 설정
  4. Sync 끝난 뒤, 원본(US)과 백업(Seoul)간의 diff 진행
  5. 원본(US) 삭제
  6. 백업(Seoul) 에서 신규(Seoul) 로 DTS 실행
  7. Sync 끝난 뒤, 백업(Seoul)과 신규(Seoul)간의 diff 진행
  8. 백업(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으로 데이터가 적재되는걸 확인

반응형