이 문서에서는 SAP용 BigQuery 커넥터를 사용할 때 스트리밍 데이터 복제에서 Pub/Sub를 통한 CDC 복제로 마이그레이션하는 방법을 설명합니다.
기존 SAP용 BigQuery 커넥터 사용자이고 BigQuery 테이블에 소스 SAP 테이블의 변경사항이 직접 반영되기를 원하는 경우 Pub/Sub를 통해 CDC 복제를 사용할 수 있습니다. SAP에서 데이터가 변경되면 SAP용 BigQuery 커넥터가 변경사항을 캡처하고 Pub/Sub를 통해 중복 없이 변경사항을 적용하여 BigQuery 테이블로 직접 전송합니다.
시작하기 전에
시작하기 전에 Pub/Sub 서비스 및 용어를 알아보세요.
사용자 또는 관리자가 다음 기본 요건을 완료했는지 확인합니다.
- SAP용 BigQuery 커넥터를 업데이트하여 버전 2.9 이상으로 업데이트합니다.
- Google Cloud API를 사용 설정합니다.
- 인증 설정
- 데드 레터 주제 만들기
SAP용 BigQuery 커넥터 업데이트
Pub/Sub를 통해 CDC 복제를 사용하려면 SAP용 BigQuery 커넥터를 버전 2.9 이상으로 업데이트하세요. 커넥터를 업데이트하는 방법은 SAP용 BigQuery 커넥터 업데이트를 참고하세요.
Google Cloud API 사용 설정
Pub/Sub를 통한 CDC 복제의 경우 다음 API가 사용 설정되어 있는지 확인합니다.
- Pub/Sub API
- BigQuery API
- IAM Service Account Credentials API
Google Cloud API를 사용 설정하는 방법은 API 사용 설정을 참고하세요.
인증 설정
Pub/Sub를 통해 CDC 복제를 사용하려면 기존 BigQuery 역할 외에도 승인에 사용되는 서비스 계정에 Pub/Sub 편집자 역할을 부여해야 합니다. 서비스 계정에 다음 역할이 있는지 확인합니다.
- Pub/Sub 편집자
- BigQuery 데이터 편집자
- BigQuery 작업 사용자
역할 부여 방법에 대한 자세한 내용은 단일 역할 부여를 참고하세요.
지원되는 인증 방법 및 인증 설정 방법에 대한 자세한 내용은 인증 설정을 참고하세요.
데드 레터 주제 만들기
BigQuery 구독이 타겟 BigQuery 테이블에 쓰지 못하는 메시지를 처리하려면 데드 레터 주제를 만드는 것이 좋습니다. 이 데드 레터 주제는 모든 재시도 후 Pub/Sub가 전송할 수 없는 메시지를 자동으로 게시하는 별도의 대기열 역할을 합니다.
마이그레이션 단계
다음과 같은 대략적인 마이그레이션 단계를 따르세요.
- SAP LT Replication Server 복제 구성을 중지합니다.
- 중복 삭제된 CDC 테이블을 준비합니다.
- SAP용 BigQuery 커넥터를 통해 마이그레이션 시작
- 복제 설정을 구성합니다.
- SAP LT Replication Server 복제 구성을 활성화합니다.
- BigQuery에서 복제 확인
SAP LT Replication Server 복제 구성 중지
SAP GUI에서 트랜잭션 코드
LTRC
를 입력합니다.마이그레이션할 SAP LT Replication Server 복제 구성을 중지합니다.
중복 삭제된 CDC 테이블 준비
BigQuery에서는 기존 BigQuery 스테이징 테이블에서 중복이 삭제된 CDC 테이블을 만들어야 합니다. Pub/Sub를 통해 CDC 복제를 사용하는 경우 이 CDC 테이블은 SAP 데이터의 BigQuery 외부 테이블이 됩니다.
중복 제거된 CDC 테이블을 준비하려면 다음을 수행하세요.
Google Cloud 콘솔에서 BigQuery 페이지로 이동합니다.
새 쿼리 작성을 클릭합니다.
기존 BigQuery 스테이징 테이블에서 CDC 테이블을 만듭니다.
쿼리 편집기 텍스트 영역에서 기존 BigQuery 스테이징 테이블 구조를 복사하려면 다음 쿼리를 입력합니다.
CREATE TABLE CDC_TABLE LIKE STAGING_TABLE
다음을 바꿉니다.
CDC_TABLE
: BigQuery CDC 테이블의 이름입니다.STAGING_TABLE
: BigQuery 스테이징 테이블의 이름입니다.
실행을 클릭합니다.
이 단계에서는 기본 키가 없는 CDC 테이블 구조를 만듭니다.
기본 키를 추가하도록 CDC 테이블 정의를 수정합니다.
쿼리 편집기 텍스트 영역에서 기본 키를 추가하려면 다음 쿼리를 입력합니다.
ALTER TABLE CDC_TABLE ADD PRIMARY KEY(PRIMARY_KEYS) NOT INFORCED
다음을 바꿉니다.
CDC_TABLE
: CDC 테이블의 이름입니다.PRIMARY_KEYS
: 쉼표로 구분된 목록으로 된 기본 키입니다. 소스 SAP 테이블에서 기본 키 목록을 가져올 수 있습니다.
실행을 클릭합니다.
CDC 테이블에서 중복을 삭제합니다.
쿼리 편집기 텍스트 영역에서 CDC 테이블의 중복을 삭제하려면 다음 쿼리를 입력합니다.
INSERT INTO CDC_TABLE (COLUMN_NAMES ) SELECT COLUMN_NAMES FROM STAGING_TABLE WHERE is_deleted = false QUALIFY ROW_NUMBER() OVER( PARTITION BY PRIMARY_KEYS ORDER BY recordstamp DESC ) = 1
다음을 바꿉니다.
CDC_TABLE
: CDC 테이블의 이름입니다.COLUMN_NAMES
: 열 이름을 쉼표로 구분된 목록으로 나타냅니다. SAP 소스 시스템에서 열 이름 목록을 가져올 수 있습니다. 또는 별표 (*)를 사용하여 모든 열을 선택합니다.PRIMARY_KEYS
: CDC 테이블의 기본 키입니다.STAGING_TABLE
: 스테이징 테이블의 이름입니다.
실행을 클릭합니다.
또는 BigQuery Studio에서 복사 옵션을 사용하여 소스 스테이징 테이블 구조를 복사하고 CDC 테이블을 만들 수 있습니다.
SAP용 BigQuery 커넥터를 통해 이전 시작
- SAP GUI에서
/n
에 이어/GOOG/SLT_SETTINGS
트랜잭션을 입력합니다./n/GOOG/SLT_SETTINGS
- Google Cloud 파트너 필드의 드롭다운 메뉴에서 BigQuery를 선택합니다.
/GOOG/SLT_SETTINGS
트랜잭션 시작 화면의 설정 테이블 드롭다운 메뉴에서 대량 전송을 선택합니다.- 대량 전송 키 필드에서 이전할 SAP LT Replication Server 복제 구성의 대량 전송 ID를 지정합니다.
- 실행 아이콘을 클릭합니다.
- BigQuery 설정 유지보수 - 대량 전송 화면에서 이전을 클릭합니다.
- 이전 확인 대화상자에서 예를 클릭합니다.
복제 설정 구성
- SAP GUI에서
/n
에 이어/GOOG/SLT_SETTINGS
트랜잭션을 입력합니다./n/GOOG/SLT_SETTINGS
- Google Cloud 파트너 필드의 드롭다운 메뉴에서 BigQuery CDC via Pub/Sub(Pub/Sub를 통한 BigQuery CDC)를 선택합니다.
/GOOG/SLT_SETTINGS
트랜잭션 시작 화면의 설정 테이블 드롭다운 메뉴에서 대량 전송을 선택합니다.- 대량 전송 키 필드에서 SAP용 BigQuery 커넥터를 통해 이전 시작 섹션에서 이전한 SAP LT Replication Server 복제 구성의 대량 전송 ID를 지정합니다.
- 실행 아이콘을 클릭합니다. BigQuery 설정 유지보수 - 대량 전송 화면이 표시됩니다.
- 마이그레이션된 SAP LT Replication Server 복제 구성이 표시되는지 확인합니다.
SAP LT Replication Server 복제 구성의 경우 다음 표 속성을 지정합니다.
외부 테이블 이름 필드에 이전 단계인 중복 삭제된 CDC 테이블 준비에서 만든 CDC 테이블의 이름을 입력합니다.
Pub/Sub를 통해 BigQuery에 CDC 복제를 사용 설정하려면 CPS 복제 체크박스를 선택합니다.
Pub/Sub 스키마 필드에 Pub/Sub 스키마의 이름을 입력합니다. SAP용 BigQuery 커넥터는 SAP 테이블 정의와 일치하도록 기존 Avro 스키마를 자동으로 생성하거나 업데이트합니다.
Pub/Sub 주제 필드에 메시지가 게시되는 Pub/Sub 주제의 이름을 입력합니다. SAP용 BigQuery 커넥터는 주제를 자동으로 만듭니다.
Pub/Sub 구독 필드에 Pub/Sub 주제에서 메시지를 소비하고 BigQuery에 쓰는 BigQuery 구독의 이름을 입력합니다. SAP용 BigQuery 커넥터는 구독을 자동으로 만들고 이전 단계에서 지정한 주제에 연결합니다.
데드 레터 큐 필드에 Pub/Sub 데드 레터 주제의 이름을 입력합니다. 이 데드 레터 주제는 Pub/Sub이 BigQuery 구독을 통해 BigQuery에 쓰지 못한 메시지를 수신합니다.
테이블에 변경 데이터 캡처 (CDC) 기능을 사용 설정하려면 Act. CDC (CDC 활성화) 체크박스를 선택합니다.
초기 로드의 성능을 최적화하려면 Cache Val(캐시 유효성 검사) 체크박스를 선택합니다.
이 필드를 선택하면 커넥터가 대규모 데이터 전송에 최대 성능을 제공합니다. 시스템은 Google Cloud 일정 간격으로 파이프라인 검증을 실행하고 결과를 캐시합니다. 커넥터는 빠른 데이터 변환을 제공하고 데이터를 Pub/Sub로 직접 전송합니다. 자세한 내용은 캐시 유효성 검사를 참고하세요.
SAP LT Replication Server 복제 구성 활성화
SAP GUI에서 트랜잭션 코드
LTRC
를 입력합니다.구성을 활성화합니다.
구성을 활성화하면 필요한 모든 Pub/Sub 관련 리소스가 생성되고 복제가 시작됩니다. 구성된 CDC 테이블에는 새로 추가되고 처리되지 않은 모든 변경사항이 반영됩니다.
BigQuery에서 복제 확인
BigQuery에서 CDC 테이블의 값이 소스 SAP 테이블과 동일한지 확인합니다. 방법에 대한 자세한 내용은 BigQuery로의 복제 유효성 검사를 참고하세요.
문제 해결
복제를 이전할 때 발생할 수 있는 문제의 진단 및 해결에 대한 자세한 내용은 SAP용 BigQuery 커넥터 문제 해결 가이드를 참고하세요.
지원 받기
마이그레이션 단계 문제를 해결하는 데 도움이 필요한 경우 사용 가능한 모든 진단 정보를 수집하고 Cloud Customer Care에 문의하세요. Cloud Customer Care 문의 정보는 Google Cloud기반 SAP 지원 받기를 참고하세요.