복제 프로세스 이해

Objective

After completing this lesson, you will be able to 복제 컴포넌트와 기술에 대해 설명합니다.

복제 프로세스

복제는 일반적으로 한 시스템에서 다른 시스템으로 실시간으로 데이터를 직접 복사하는 것을 의미합니다. 이 작업은 일반적으로 테이블 레벨에서 수행됩니다.

복제를 고려할 수 있는 몇 가지 이유는 다음과 같습니다.

  • 다양한 툴과 기술 옵션이 있는 다른 시스템에 데이터를 복제하려고 합니다. 이 시스템에서는 특정 어플리케이션을 생성할 수 있습니다.

  • 정보를 공유하기 위해 데이터를 하나 이상의 대상에 실시간으로 배포하려고 합니다.

  • 기존 시스템에서 신규 시스템으로 데이터를 마이그레이션하려고 합니다.

  • (지속성 없이) 원격으로 데이터에 액세스해 왔지만 데이터 볼륨이 증가함에 따라 성능이 불가능하게 되었습니다.

SAP HANA를 사용하여 데이터 복제를 설정하려면 기본 프로세스와 이 프로세스와 연관된 데이터베이스 오브젝트를 이해하는 것이 중요합니다.

복제 구성요소

소스 테이블을 복제하려면 해당 테이블에 대한 액세스를 설정해야 합니다. 이 작업은 이전 단원에서 설명한 대로 원격 소스와가상 테이블을 생성하여 수행합니다.

또한 복제된 데이터를 저장할 대상 테이블을 생성해야 합니다. 대상 테이블은 소스 테이블과 구조가 동일하거나, 열이 적은 소스 테이블의 하위 세트이거나, 일부 문자가 필요하지 않은 긴 문자열을 줄이기 위해 열 정의에 변형이 있을 수 있습니다.

가상 테이블과 대상 테이블을 생성했으면 원격 등록을 정의할 수 있습니다. 그런 다음 대상 테이블이 가상 테이블에서 액세스한 데이터의 변경사항을 구독합니다.

이 슬라이드에는 필요한 모든 복제 컴포넌트가 나와 있습니다.

이 복제를 구현하는 데 사용되는 방법에 따라 해당 오브젝트(가상 테이블, 대상 테이블, 원격 등록)가 자동으로 생성되거나 수동으로 생성되어야 합니다.

복제 기술

SAP HANA 시스템(온프레미스 또는 클라우드)에 따라, 그리고 복제하려는 데이터 소스의 유형에 따라 다양한 복제 기술을 사용할 수 있습니다.

가장 일반적인 복제 기술은 다음과 같습니다.

  • 로그 기반 테이블 복제

    데이터베이스 재실행 로그를 사용하여 소스 테이블의 변경사항을 가져와서 재현합니다. 이는 침입적이지 않으며 커밋된 트랜잭션만 복제되므로 트랜잭션 무결성이 보장됩니다.

  • 트리거 기준 테이블 복제

    소스 테이블을 모니터링하고 수정된(업데이트되거나 삭제된) 모든 행과 신규 행을 캡처하기 위해 소스 데이터베이스에 트리거가 생성됩니다. 캡처된 데이터는 섀도 테이블에 저장됩니다. 모든 수정사항을 올바른 순서로 기록하기 위해 큐 테이블도 생성됩니다. 이 기술은 소스 데이터베이스 버전과 무관하며 LOB(Large Object) 복제와 같은 로그 기반 복제보다 더 많은 기능을 제공할 수 있습니다.

  • 파일 복제

    이 기술은 FileAdapter에 의해 구현되며 파일에서 신규 행을 복제하는 데 사용됩니다. APPEND만 지원됩니다.

어떤 기술이 사용됩니까?

소스 및 대상과 선택한 어댑터에 따라 다음과 같은 다양한 기술을 사용할 수 있습니다.

이 슬라이드에는 복제에 사용할 수 있는 다양한 기술이 나와 있습니다.

모든 SDI 어댑터가 실시간 복제를 지원하는 것은 아닙니다. 실시간 복제를 실시간 변경 데이터 캡처 라고도 합니다.

일부 어댑터는 로그 기반 복제를 사용합니다. 일반적으로 로그 라는 접미사가 붙습니다.

트리거 기준 복제를 사용하는 어댑터가 있습니다(예: HANAAdapter).

다수의 어댑터는 FileAdapter와 같은 특정 독점 기술을 사용합니다.

복제 기능을 구현하려면 소스 시스템에서 특정 설정을 해야 하는 어댑터가 몇 가지 있습니다.

노트

온프레미스 SAP HANA 데이터베이스에 복제하는 경우 스마트 데이터 통합(SDI, Smart Data Integration)을 사용하여 데이터 소스에 연결해야 합니다. 그러나 SAP HANA Cloud 데이터베이스를 복제 대상으로 사용하면 스마트 데이터 액세스(SDA)를 사용하여 SAP HANA 데이터베이스에서 데이터를 복제할 수도 있습니다. 사용되는 기술은 최적화된 로그 기반 복제입니다. 이 유형의 복제를 원격 테이블 복제(RTR, Remote Table Replication)라고 합니다.

필요한 권한

테이블 복제를 구현하려면 몇 가지 특정 권한이 필요합니다.

  • 원격 소스 정의에 지정된 사용자:

    소스 스키마에 대한 모든 권한

    예를 들어, 소스가 SAP HANA 데이터베이스인 경우 사용자는 소스 스키마에 대한 CREATE ANY 권한이 있어야 합니다.

  • 대상 SAP HANA 데이터베이스에서 복제를 구현하는 사용자의 경우:
    • 원격 소스에서 가상 테이블 생성 및 REMOTE SUBSCRIPTION 생성
    • 대상 스키마의 CREATE TABLE

복제 구현 단계

다음은 복제를 구현하는 기본 단계입니다.

  1. 원격 소스를 생성합니다.
  2. 원격 소스를 기반으로 가상 테이블을 생성합니다.
  3. 대상 테이블을 생성합니다. 이 작업은 1단계와 2단계 전에 수행할 수 있습니다.
  4. 가상 테이블을 프로바이더로, 대상 테이블을 수신자로 사용하여 원격 등록을 정의합니다.
  5. 트리거 기준 복제를 위한 소스 트리거, 섀도 테이블 및 큐 테이블 생성을 포함하는 원격 등록을 대기합니다(SDI 원격 소스에만 해당).
  6. SDI 원격 소스를 사용하는 경우 초기 소스 데이터를 대상에 복사합니다.
  7. 데이터를 배포하여 실시간 변경 데이터 캡처를 시작합니다.

다음 소단원에서는 SAP HANA의 다양한 툴을 사용하여 이러한 단계를 구현하는 방법을 학습합니다.