Computer >> 컴퓨터 >  >> 프로그램 작성 >> 데이터 베이스

Oracle GoldenGate 12c 릴리스 3 - 새로운 기능 병렬 복제

병렬 복제는 Oracle ®GoldenGate 12c 릴리스 3(12.3.0.1)에 도입된 새로운 기능 중 하나입니다. Parallel Replicat은 사용자가 여러 병렬 매퍼 및 스레드를 사용하여 환경에 데이터를 빠르게 로드할 수 있도록 설계되었습니다.

병렬 복제란 무엇입니까?

Parallel Replicat은 적용 워크로드를 자동으로 병렬화하고 트랜잭션 간의 종속성을 고려할 수 있는 Oracle 데이터베이스용 확장성이 뛰어난 적용 엔진입니다. 병렬 복제는 데이터베이스 외부에서 종속성 계산 및 병렬 처리를 수행하여 통합 복제의 모든 이점을 제공합니다. 트레일 파일의 읽기 및 매핑을 병렬화하고 대규모 트랜잭션을 빠르게 적용할 수 있는 기능을 제공합니다. 종속성 계산, 매핑 병렬 처리 및 적용은 데이터베이스 외부에서 수행되며 다른 서버로 오프로드될 수 있습니다. 이 과정에서 트랜잭션 무결성이 유지됩니다.

또한 SPLIT_TRANS_RECS 매개변수는 더 큰 트랜잭션을 논리적으로 더 작은 조각으로 분할하여 병렬로 적용합니다. 종속성도 관리 및 유지됩니다.

병렬 복제 아키텍처

다음 이미지는 병렬 복제 아키텍처를 보여줍니다.

Oracle GoldenGate 12c 릴리스 3 - 새로운 기능 병렬 복제 셀 명령 결과 나열

이미지 출처:https://bit.ly/2wsPZVv

아키텍처는 단일 트레일 파일을 읽는 것으로 시작하지만 읽기(매퍼) 및 쓰기(적용)를 위한 여러 차선이 있는 더 넓은 도로를 제공합니다. 병렬 복제는 모든 트랜잭션이 키 종속성(기본 키(PK), 외래 키(FK) 및 고유 키(UK))을 기반으로 정렬되도록 합니다. 이는 데이터베이스 내에서 종속성과 쓰기가 수행되는 Integrated Replicat과의 엄청난 차이점입니다.

또한 병렬 복제는 다음 모드 중 하나로 실행되도록 구성할 수 있습니다.

  • 통합 모드: 이것은 독자와 작성자가 병렬 복제의 통합 모드를 사용하여 데이터베이스 외부에 있지 않다는 점을 제외하고 이전 버전의 IntegratedReplicat과 유사합니다. 이 모드는 여전히 데이터베이스의 내부를 사용하여 프로세스를 관리합니다.

  • 비통합 모드: 이 모드에서 Replicat은 여전히 ​​병렬로 실행됩니다. 그러나 이제는 완전히 데이터베이스 외부에 있습니다.

병렬 복제의 주요 기능

병렬 복제의 핵심 기능은 다음과 같습니다.

  • Integrated Replicat보다 최대 5배 빠릅니다.
  • 하나의 대규모 트랜잭션을 병렬로 적용하는 옵션을 제공합니다.
  • 하나의 대규모 트랜잭션을 병렬화할 수 있습니다. 대규모 트랜잭션을 병렬로 더 빠르게 처리하고 대규모 트랜잭션을 병렬 처리하는 동안 종속성을 고려합니다.
  • SPLIT_TRANS_RECS를 사용하여 처리를 제어할 수 있습니다. 트랜잭션 분할 크기(레코드 내)를 지정하는 매개변수. 기본값은 100,000입니다.

기본 병렬 복제 매개변수

병렬 복제 처리에 사용할 수 있는 다음 매개변수를 사용할 수 있습니다.

MAP_PARALLELISM :매퍼의 수를 설정합니다. 이 매개변수는 추적 파일을 읽는 데 사용되는 스레드 수를 제어합니다. 최소값은 1입니다. , 최대값은 100입니다. , 기본값은 2입니다. .

APPLY_PARALLELISM :적용자 수를 설정합니다. 이 매개변수는 변경 사항을 적용하는 데 사용되는 대상 데이터베이스의 연결 수를 제어합니다. 기본값은 4입니다. .

MIN_APPLY_PARALLELISM and MAX_APPLY_PARALLELISM :병렬 처리 적용 기능이 자동으로 조정됩니다. 최소값과 최대값을 설정하여 Replicat이 자동으로 병렬 처리를 조정하는 범위를 정의할 수 있습니다. 기본값이 없습니다. 이 매개변수를 APPLY_PARALLELISM과 동시에 사용하지 마십시오. 매개변수.

SPLIT_TRANS_REC :큰 트랜잭션을 특정 크기의 조각으로 나누고 병렬로 적용하도록 지정합니다. 조각 간의 종속성은 여전히 ​​존중됩니다. 이 매개변수는 기본적으로 비활성화되어 있습니다.

관리 클라이언트를 사용하여 통합되지 않은 병렬 복제 추가

adminclient를 사용하여 통합되지 않은 병렬 복제를 추가하려면 다음 단계를 수행하십시오.

  1. 다음 명령을 입력하여 adminclient를 엽니다.

     $ cd $OGG_HOME/bin
     $ bin> ./adminclient
    
  2. 다음 명령을 입력하여 Service Manager 배포 소스에 연결합니다.

     adminclient> connect https://<host>:<port> deployment <deploment> as <security user> password <password>
    
  3. 병렬 복제 프로세스를 생성하려면 다음 명령을 입력하십시오.

     adminclient> add replicat <group name>, integrated, parallel, exttrail <trail name> checkpointtable ggadmin.ggcheckpoint
    
  4. 매개변수 파일을 편집하려면 다음 명령을 입력하십시오.

     adminclient> edit params <replicat name>
    
  5. 병렬 복제 프로세스를 시작하려면 다음 명령을 입력하십시오.

     adminclient> start replicat <replicat name>
    

Replicat이 생성되면 연결된 관리 서비스에 자동으로 표시됩니다.

Replicat이 시작된 후 리더(매퍼)와 라이터(적용자)에 대해 지정한 스레드 수가 보고서 파일에 표시됩니다.

샘플 매개변수 파일

다음 코드는 병렬 복제에 대한 샘플 매개변수 파일입니다.

replicat REP1
userid ggadmin, password ****
INSERTUPDATES
REPERROR(1, DISCARD)
MAP_PARALLELISM 2
MIN_APPLY_PARALLELISM 2
MAX_APPLY_PARALLELISM 8
SPLIT_TRANS_RECS 100
MAP *.*, TARGET  *.*;

결론

GoldenGate는 이미 서로 다른 유형의 데이터베이스 또는 플랫폼 간에 이기종 복제를 제공하는 Oracle의 훌륭한 복제 도구입니다. Oracle은 ParallelReplicat을 통해 GoldenGate 기술에 추가적인 이점을 추가했습니다.

Parallel Replicat은 시스템 성능을 향상시키기 위해 트랜잭션을 병렬로 적용하는 Replicat의 새로운 변형입니다. Parallel Replicat은 데이터베이스 외부에서 종속성 계산 및 병렬 처리를 수행하면서 Integrated Replicat의 모든 이점을 제공합니다. 모든 트레일 파일을 병렬로 읽고 매핑하며 Oracle Databaseversions 11g(11.2.0.4) 이상에서 대규모 트랜잭션을 빠르게 적용할 수 있는 기능을 제공합니다.