SAP용 BigQuery 커넥터 개요

이 가이드에서는 SAP용 BigQuery 커넥터의 개요를 제공하고, 기능과 SAP 시스템과 BigQuery 간의 데이터 통합을 지원하는 방법을 자세히 설명합니다. SAP용 BigQuery 커넥터는 SAP 데이터를 BigQuery에 거의 실시간으로 복제합니다. BigQuery에 데이터를 저장하면 실시간 SAP 애플리케이션 데이터에 인공지능 또는 머신러닝을 사용하여 분석을 수행할 수 있습니다. BigQuery에서 SAP 데이터를 다른 소스의 데이터와 통합할 수도 있습니다.

SAP용 BigQuery 커넥터는 SAP Landscape Transformation Replication Server (SAP LT Replication Server)에 설치되며 SAP Landscape Transformation Replication Server의 표준 인터페이스와 기능을 사용합니다. SAP용 BigQuery 커넥터는 SAP LT Replication Server가 지원하는 모든 데이터 소스를 지원합니다.

Google Cloud 는 SAP LT Replication Server SDK 프로세스에 따라 SAP LT Replication Server용 SAP Business Add In (BAdI)의 구현으로 SAP용 BigQuery 커넥터를 개발했습니다. 커넥터는 SAP LT Replication Server의 변경 데이터 캡처 (CDC) 기능을 사용합니다.

데이터 처리

SAP용 BigQuery 커넥터는 ETL(추출-변환-로드) 모델이 아닌 ELT(추출-로드-변환) 모델을 따라 최소한의 데이터 변환만 허용합니다. 이 모델에 대한 상세 설명은 데이터 파이프라인의 절차 및 패턴을 참조하세요.

커넥터는 소스 데이터를 기준으로 대상 테이블에 대해 필드, 필드 이름, 데이터 유형을 자동으로 제안합니다. 대상 BigQuery 테이블이 생성되기 전 필요에 따라 제안된 값을 수정할 수 있습니다. 제안된 대상 필드 이름은 소스 테이블의 필드 설명을 기반으로 합니다. 자세한 내용은 필드 기본 이름 지정 옵션을 참조하세요.

SAP용 BigQuery 커넥터가 대부분의 필드에 대해 BigQuery 데이터 유형을 자동으로 제안하지만 부울, 타임스탬프, 16진수 값은 자동으로 해석되지 않으므로 이를 수동으로 매핑해야 합니다. 자세한 내용은 데이터 유형 매핑을 참조하세요.

SAP용 BigQuery 커넥터는 몇 가지 개선점을 제공하며 이를 통해 자체 커스텀 개선사항을 SAP용 BigQuery 커넥터에 삽입할 수 있습니다. 자세한 내용은 수정 종료를 참조하세요.

대상 테이블이 BigQuery에 아직 없으면 SAP용 BigQuery 커넥터에서 생성됩니다. Pub/Sub를 통한 CDC 복제의 경우 SAP용 BigQuery 커넥터는 필요한 Pub/Sub 주제, 스키마, 구독도 자동으로 만듭니다.

지원되는 복제 경로

SAP용 BigQuery 커넥터는 다음 복제 경로를 지원합니다.

Pub/Sub를 통한 변경 데이터 캡처 (CDC) 복제

Pub/Sub을 통한 변경 데이터 캡처 (CDC) 복제를 사용하면 BigQuery 테이블에 소스 SAP 테이블의 변경사항이 직접 반영되어 기존 데이터가 업데이트되고 새 레코드가 추가되어 데이터가 동기화됩니다. 이 접근 방식은 Storage Write API의 CDC 기능을 사용하여 수동 중복 삭제의 필요성을 없앱니다. CDC는 소스 SAP 테이블에서 발생하는 변경사항 (업데이트, 삭제, 신규 삽입)만 캡처하고 적용하는 데 중점을 둡니다.

SAP 테이블의 레코드가 업데이트되거나 삭제되면 SAP용 BigQuery 커넥터가 이 변경사항을 Pub/Sub 주제에 게시합니다. 그런 다음 BigQuery 구독이 해당 BigQuery 테이블에 직접 스트리밍하여 중복 없이 변경사항을 적용합니다.

스트리밍 데이터 복제

스트리밍 데이터 복제를 사용하면 BigQuery 테이블이 삽입 전용 모드에서 모든 변경사항을 별도의 항목으로 반영하여 새 레코드를 지속적으로 추가합니다. BigQuery가 BigQuery 테이블에 이미 있는 레코드에 대한 업데이트를 수신하면 BigQuery가 기존 인스턴스를 수정하지 않고 레코드의 새 인스턴스를 테이블에 삽입합니다. 가장 최근에 삽입된 레코드 인스턴스에 소스 테이블의 현재 레코드 상태가 반영됩니다.

스트리밍 데이터 복제의 경우 SAP용 BigQuery 커넥터는 BigQuery 스트리밍 API를 사용합니다.

다음 다이어그램은 SAP용 BigQuery 커넥터를 사용하여 SAP에서 BigQuery로의 데이터 복제 경로를 보여줍니다.

BigQuery로의 복제 경로

각 경로의 데이터 흐름과 구성요소는 다음과 같습니다.

데이터 추출 및 초기 처리 (두 경로 모두 공통)

  • SAP 데이터 소스: SAP 환경 내에서 데이터를 생성합니다.
  • SAP LT Replication Server: RFC 연결을 통해 SAP 데이터 소스에 연결합니다. 기본 역할은 SAP 소스에서 CDC 데이터를 추출하는 것입니다.
  • SAP용 BigQuery 커넥터: 추출된 CDC 데이터를 수신하고 구성에 따라 데이터가 사용할 복제 경로를 결정합니다.

CDC 복제 경로

이 경로에서는 Pub/Sub를 통해 BigQuery CDC 테이블로 변경사항을 복제하는 데 중점을 둡니다.

  • Pub/Sub REST API: SAP용 BigQuery 커넥터는 Pub/Sub REST API를 사용하여 CDC 데이터를 Pub/Sub에 게시합니다.
  • Pub/Sub 주제: 게시된 CDC 데이터를 수신하는 중앙 메시지 브로커 역할을 합니다.
  • Pub/Sub 스키마: Pub/Sub 주제와 연결된 스키마는 데이터 일관성을 유지하는 데이터 구조를 적용합니다.
  • Pub/Sub BigQuery 구독: Pub/Sub 주제를 구독하고 CDC 데이터를 BigQuery CDC 테이블로 스트리밍합니다.
  • BigQuery CDC 테이블: BigQuery의 CDC 데이터의 최종 대상입니다. 변경사항 (업데이트/삭제)을 적용하고 새 레코드를 삽입하여 중복이 제거된 최신 SAP 데이터를 유지합니다.
  • 데드 레터 주제: BigQuery 구독에서 처리하지 못한 메시지가 추가 수동 조사를 위해 전송되어 데이터 손실을 방지하는 Pub/Sub 주제입니다.

스트리밍 데이터 복제 (삽입 전용) 경로

이 경로는 모든 변경사항을 새 항목으로 유지하면서 BigQuery 스테이징 테이블에 새 레코드를 지속적으로 삽입하도록 설계되었습니다.

  • BigQuery Streaming REST API: SAP용 BigQuery 커넥터는 BigQuery 스트리밍 REST API를 사용하여 데이터를 BigQuery로 직접 스트리밍합니다.
  • BigQuery 스테이징 테이블: 스트리밍 데이터의 대상입니다. 이 삽입 전용 모드에서는 모든 변경사항 (기존 SAP 레코드의 업데이트 및 삭제 포함)으로 인해 이 테이블에 새 행이 추가됩니다.

복제 경로 선택

이 섹션에서는 복제 경로를 비교하여 특정 데이터 요구사항과 운영 요구사항에 가장 적합한 경로를 결정하는 데 도움을 줍니다.

요소 Pub/Sub를 통한 CDC 복제 스트리밍 데이터 복제 (삽입 전용 모드)
작동 방식 BigQuery 테이블의 변경사항만 캡처하고 적용합니다. 모든 변경사항을 BigQuery 테이블에 새 레코드로 삽입합니다.
BigQuery 결과 기존 행을 기본적으로 업데이트하거나 삭제하여 단일 최신 레코드를 유지합니다. 변경사항이 있을 때마다 새 항목이 생성되어 동일한 레코드의 버전이 여러 개가 됩니다.
주요 이점 최신 데이터로 높은 데이터 일관성을 제공합니다. 기본 수집에 유용하며 이전 감사를 제공합니다.

배포 아키텍처

SAP용 BigQuery 커넥터를 SAP LT Replication Server 인스턴스 내의 Business Add In (BAdI)으로 설치합니다.

SAP LT Replication Server 인스턴스는 Google Cloud, 온프레미스 또는 다른 클라우드 제공업체에 있을 수 있습니다. SAP LT Replication Server 인스턴스를 SAP 데이터 소스에 최대한 가까이 배치하는 것이 좋습니다. 네트워크팀과 협력하여 소스 SAP 시스템, SAP LT Replication Server, BigQuery 데이터 세트 간의 지연 시간이 짧고 처리량이 많도록 조치합니다.

다음 섹션에서는 SAP용 BigQuery 커넥터의 일반적인 권장 아키텍처에 대하여 설명합니다.

Pub/Sub를 통한 CDC 복제를 위한 배포 아키텍처

Google Cloud의 SAP 데이터 소스 아키텍처

다음 다이어그램은 Google Cloud에서 SAP 데이터 소스가 있는 두 가지 SAP LT Replication Server 설치 예시를 보여줍니다. Google Cloud

각 아키텍처의 예를 보여주기 위해 한 설치에서는 SAP LT Replication Server 독립형 아키텍처를 사용하여 SAP LT Replication Server가 별도의 서버에 설치됩니다. 다른 설치에서는 SAP LT Replication Server가 임베디드 아키텍처를 사용해 SAP LT Replication Server가 SAP 소스 시스템 서버에 설치됩니다.

SAP LT Replication Server 인스턴스는Google Cloud에 설치되므로 SAP용 BigQuery 커넥터가 Cloud Interconnect 또는 Cloud VPN 연결 없이 Pub/Sub API 엔드포인트에 직접 연결됩니다.

 Google Cloud의 SAP 데이터 소스 아키텍처

온프레미스 또는 다른 클라우드 제공업체의 SAP 데이터 소스 아키텍처

다음 다이어그램에서는 온프레미스 또는 다른 클라우드 제공업체에서 실행되는 SAP LT Replication Server 설치의 두 가지 예시를 볼 수 있습니다.

각 아키텍처의 예를 보여주기 위해 한 설치에서는 SAP LT Replication Server 독립형 아키텍처를 사용하고 다른 설치에서는 SAP LT Replication Server가 임베디드 아키텍처를 사용합니다.

두 예시 모두에서 SAP LT Replication Server가 SAP 데이터 소스와 동일한 환경에 설치됩니다.

SAP LT Replication Server의 SAP용 BigQuery 커넥터에서 Pub/Sub로의 연결은 Cloud Interconnect 연결 또는 Cloud VPN 연결을 통해 이루어집니다.

온프레미스 또는 다른 클라우드 제공업체의 SAP 데이터 소스 아키텍처

데이터 흐름의 상세 아키텍처 뷰

다음 다이어그램은 SAP LT Replication Server 데이터 흐름에 SAP용 BigQuery 커넥터가 적합한 사례를 보여줍니다.

데이터 흐름의 상세 아키텍처 뷰

다음 설명에는 다이어그램의 숫자를 나타내는 번호가 지정되어 있습니다.

  1. SAP LT Replication Server가 초기화된 후 소스 테이블의 레코드가 삽입, 업데이트 또는 삭제되면 데이터베이스 트리거가 로깅 테이블에 변경사항을 기록합니다.
  2. SAP LT Replication Server가 RFC 호출을 사용하여 로깅 테이블에서 새 항목을 지속적으로 확인합니다.
  3. SAP LT Replication Server에서 새 항목이 발견되면 읽기 엔진이 레코드를 읽고 매핑 및 변환 엔진을 호출합니다.
  4. 매핑 및 변환 엔진에서 SAP용 BigQuery 커넥터를 호출하는 쓰기 엔진을 호출합니다.
  5. 쓰기 엔진은 처리된 데이터를 SAP용 BigQuery 커넥터에 전달합니다. 여기서 커넥터의 맞춤 BAdI 구현은 SAP 변경 레코드를 Avro 호환 JSON 형식으로 변환합니다. 다음과 같이 특정 메타데이터 필드를 채웁니다.
    1. _CHANGE_TYPE: SAP SLT 작업을 기반으로 채워집니다. 예를 들어 삽입 또는 업데이트의 경우 UPSERT, 삭제의 경우 DELETE입니다.
    2. _CHANGE_SEQUENCE_NUMBER: BigQuery의 시간순 정렬 및 충돌 해결을 위한 세부 타임스탬프입니다.
    커넥터는 SAP의 테이블과 필드 (이름 및 데이터 유형)를 BigQuery에 매핑합니다.
  6. 변환된 메시지는 보안 연결을 통해 HTTPS를 사용하여 BigQuery Connector for SAP에 의해 Pub/Sub REST API를 통해 Pub/Sub에 게시됩니다.
  7. Pub/Sub에서 데이터를 수신한 후 다음 작업을 수행합니다.
    1. 스키마에 따라 유효성 검사를 실행합니다.
    2. 유효한 메시지에 대해 HTTP 200 (OK) 상태 코드를 SAP용 BigQuery 커넥터로 다시 전송합니다.
    3. BigQuery 구독을 통해 BigQuery 대상 테이블에 레코드를 삽입합니다.
    4. 데이터 손실을 방지하고 문제 해결을 간소화하기 위해 BigQuery 수집에 실패한 메시지를 데드 레터 주제에 캡처합니다.
  8. BigQuery Storage Write API는 메시지의 _CHANGE_TYPE_CHANGE_SEQUENCE_NUMBER 필드를 사용하여 변경사항을 적용합니다. API는 삽입, 업데이트 또는 삭제 작업을 실행하여 데이터 분석을 위해 BigQuery 테이블에서 동기화된 데이터를 유지합니다.
  9. SAP용 BigQuery 커넥터가 HTTP OK 상태 코드를 다시 SAP LT Replication Server에 전달하여 로깅 테이블에서 복제된 항목을 삭제하고 SAP 소스 시스템에 리소스를 확보합니다.

스트리밍 데이터 복제를 위한 배포 아키텍처

다음 다이어그램은 Google Cloud에서 SAP 데이터 소스가 있는 두 가지 SAP LT Replication Server 설치 예시를 보여줍니다. Google Cloud

각 아키텍처의 예를 보여주기 위해 한 배포에서는 SAP LT Replication Server가 별도의 서버에 설치되는 SAP LT Replication Server 독립형 아키텍처를 사용하고 다른 배포에서는 SAP LT Replication Server가 SAP 소스 시스템 서버에 설치되는 SAP LT Replication Server 임베디드 아키텍처를 사용합니다.

SAP LT Replication Server 인스턴스는Google Cloud에 설치되므로 SAP용 BigQuery 커넥터가 Cloud Interconnect 또는 Cloud VPN 연결 없이 BigQuery API 엔드포인트에 직접 연결됩니다.

다이어그램에서는 SAP 시스템과 BigQuery가 서로 다른 Google Cloud 프로젝트에 표시되어 있지만 필요한 경우 둘 다 동일한 프로젝트를 사용할 수 있습니다.

 Google Cloud의 SAP 데이터 소스 아키텍처

온프레미스 또는 다른 클라우드 제공업체의 SAP 데이터 소스 아키텍처

다음 다이어그램에서는 온프레미스 또는 다른 클라우드 제공업체에서 실행되는 SAP LT Replication Server 설치의 두 가지 예시를 볼 수 있습니다.

각 아키텍처의 예를 보여주기 위해 한 설치에서는 SAP LT Replication Server 독립형 아키텍처를 사용하고 다른 설치에서는 SAP LT Replication Server가 임베디드 아키텍처를 사용합니다.

두 예시 모두에서 SAP LT Replication Server가 SAP 데이터 소스와 동일한 환경에 설치됩니다.

SAP LT Replication Server의 SAP용 BigQuery 커넥터에서 BigQuery로의 연결은 Cloud Interconnect 연결 또는 Cloud VPN 연결을 통해 이루어집니다.

온프레미스 또는 다른 클라우드 제공업체의 SAP 데이터 소스 아키텍처

데이터 흐름의 상세 아키텍처 뷰

다음 다이어그램은 SAP LT Replication Server 데이터 흐름에 SAP용 BigQuery 커넥터가 적합한 사례를 보여줍니다.

데이터 흐름의 상세 아키텍처 뷰

다음 설명에는 다이어그램의 숫자를 나타내는 번호가 지정되어 있습니다.

  1. SAP LT Replication Server가 초기화된 후 소스 테이블의 레코드가 삽입, 업데이트 또는 삭제되면 데이터베이스 트리거가 로깅 테이블에 변경사항을 기록합니다.
  2. SAP LT Replication Server가 RFC 호출을 사용하여 로깅 테이블에서 새 항목을 지속적으로 확인합니다.
  3. SAP LT Replication Server에서 새 항목이 발견되면 읽기 엔진이 레코드를 읽고 매핑 및 변환 엔진을 호출합니다.
  4. 매핑 및 변환 엔진에서 SAP용 BigQuery 커넥터를 호출하는 쓰기 엔진을 호출합니다.
  5. SAP용 BigQuery 커넥터가 다음 작업을 수행합니다.
    1. SAP 데이터를 대상 테이블 이름, 필드 이름, BigQuery 데이터 유형에 매핑합니다.
    2. 필요한 경우 BigQuery 테이블을 만듭니다.
    3. BigQuery 스트리밍 API를 통해 BigQuery에 레코드를 청크로 전송합니다.
  6. BigQuery에서 데이터를 수신한 후 다음 작업을 수행합니다.
    1. 검증 확인을 수행합니다.
    2. 대상 테이블에 레코드를 삽입합니다.
    3. HTTP 200(OK) 상태 코드를 SAP용 BigQuery 커넥터로 다시 전송합니다.
  7. SAP용 BigQuery 커넥터가 HTTP OK 상태 코드를 다시 SAP LT Replication Server에 전달하여 로깅 테이블에서 복제된 항목을 삭제하고 SAP 소스 시스템에 리소스를 확보합니다.

다음 단계

SAP용 BigQuery 커넥터의 설치 및 구성 계획에 대한 자세한 내용은 SAP용 BigQuery 커넥터 계획 가이드를 참고하세요.