본문 바로가기

Oracle GoldenGate2

ORACLE GoldenGate 11g Architecture v1.0

ORACLE GoldenGate 11g Architecture v1.0

 

ORACLE GoldenGate 11g Architecture

 

Date

Ver

Etc.

12.06.26

1.0

 

 

 

 

 

 

 

 

 

l  An Oracle White Paper Updated February 2012
‘Oracle GoldenGate 11g : Real-Time Access to Real-Time Information’
에 대한 번역문서이다.

l  추가적인 확인이 필요한 부분은 빨간글씨 이탤릭체 로 표시하였다.

 

 

Oracle GoldenGate 11g 아키텍쳐는 분리된 모듈로 구성되어 있으며,

maximum flexibility, availability, performance 를 위해 전사적으로 조합하여 사용할 수 있다.

이 아키텍쳐는 transaction 데이터의 이동을 네 개의 간단하며 강력한 단계로 지원한다.

 

- Capture. Oracle Golden Gate 는 데이터베이스 transaction log 안의 커밋 된 변경 data operations capture

  서비스 영향없이, 높은 성능으로, 적은 부하로 캡쳐할 수 있다.

- Route. Oracle Golden Gate 는 다양한 전송 프로토콜을 사용할 수 있다, 또 그것은 전송 전에 압축하고
암호화 할 수 있다.

- Transform. 타겟 시스템의 적용에 앞선 어느 시점에라도, Oracle GoldenGate 는 필터링과
트랜스포메이션과 같은 built-in functions 을 수행하는데 사용할 수 있다.

- Apply. Oracle Golden Gate 는 하나이상의 타겟 데이터베이스에 변경된 transactional data 1초미만의
지연으로, 트랜잭션을 온전히 적용할 수 있다.

 

Oracle Golden Gate 는 네가지 모듈과 콤포넌트로 구성되어 있다.

 

1.    Oracle GoldenGate Capture

2.    Oracle GoldenGate Trail Files

3.    Oracle GoldenGate Delivery

4.    Oracle GoldenGate Manager

 

Oracle GoldenGate Capture

 

Capture 모듈은 데이터베이스에 대해 커밋 된 insert, update, delete 오퍼레이션의 트랜잭션 결과를 뽑아내고,

이를 분산시킨다.

 

l  High-Speed, Low-Impact Data Capture

 

Capture 모듈은 소스 database 나 이를 서포트 하는 어플리케이션에 아무 변경도 필요로 하지 않는다.

이상적인 성능을 위해, capture module SOURCE DATABASE 에 대해 CDC (change data capture)

범주의 기술을 사용한다.

 

Transaction logs 는 데이터베이스에 대한 모든 변화를 포함하고 있으며 ORACLE Golden Gate 와 독립적으로 데이터베이스에 의해 자동관리된다.

 

따라서 Capture module 을 수행하기 위해 별도의 테이블이 필요하지 않고, 트리거 기반의 capture 기술과 비교하여 부하가 대폭 줄어들었다.

 

캡쳐모듈은 캡쳐하는 트랜잭션의 숫자와 크기를 기반으로 필요한 메모리를 자동 조정한다.

추가로 Oracle Golden Gate Application Adapters 11g 를 사용하면, JMS-based messaging systems 캡쳐기능을 제공한다.

 

Table, Row, and Column Selectivity

 

Source Database 의 모든 변경 된 데이타가 target system 에 반영 될 필요는 없다.

캡쳐모듈은 유저가 테이블이나 유저가 정의한 기준의 rows end-user 의 요구를 만족하지 못하는 transaction log entry 를 무시할 수 있다.

 

유저는 built-in OGG functions, user-supplied code, stored procedures,

혹은 Oracle Data Integrator Enterprise Edition 을 통해 특정컬럼에 대한 변환 룰을 적용할 수 있다.

 

Efficient Network Use and Large Data Volumnes

 

캡쳐모듈은 인터넷으로 알려진 WAN LAN 을 통해 transactions 을 전송할 수 있다.

그리고 몇 가지 방법을 통해 network 대역 필요량을 줄일 수 있다.

 

일반적으로, 전송된 일정한 양의 데이터는 데이터베이스에 의해 생성 된 transaction log 안에 저장된 데이타의 조각이다. 오로지 커밋 된 데이터만이 전송되기 때문에 중간의 작업이나 roll-back 오퍼레이션은 전송되지 않는다. 트래픽은 개개의 레코드들을 묶음처리하면서 개개로 처리할 때보다 최적화 된다.

 

이 데이터들은 몇 가지 레벨의 데이타 압축이 가능하며 네트워크 대역을 더 효율적으로 사용한다. datatype 에 따라, 데이타 압축은 75 퍼센트나 그 이상 가능하다.

 

매우 큰 볼륨에 대해 변경이 필요한 시나리오에서, 유저는 source target 간의 lag 감소를 위해 다수의 캡쳐모듈을 사용할 수 있다.

 

Checkpoints for Reliable Data Delivery

 

Oracle GoldenGate commit 영역에 마주칠 때마다 마지막으로 변경 된 transaction 에 대해 checkpoint 를 생성한다. 이는 restart cluster failover 중에도 타겟에 대한 커밋 된 record 의 전송을 가능케한다.

Checkpoints 는 캡쳐와 Delevery 모듈에 의해 수행된 현재 위치를 저장한다. 다음의 Network System 장애의 경우, Oracle GoldenGate 는 마지막 의 양호한 체크포인트로부터 재시작한다.

 

l  Oracle GoldenGate Trail Files

 

Trail-Files-OGG 의 독자적인 queing mechanism-이동 가능한 가장 최근의 변경 데이타를 포함하며, Oracle GoldenGate Universal Data Format 이라 불리우는 플랫폼에 독립적인 포맷혹은  XML 혹은 다른 어플리케이션을 위해 다른 알려진 포맷으로 변환이 가능하다.

 

수행을 위한 기반으로, 사용자는 Trail Files 을 타겟 시스템에 저장할 수 있으며, 이는 소스 시스템도 마찬가지이다. Trail Files 은 대안의 queue type 이나 application 인터페이스에 전송될 수 있다.

 

Flexible, Decoupled Architecture

 

잘 결합된 아키텍처는 분리된 아키텍쳐와 비교하여 내재된 다수의 문제들이 있다.

process-to-process 측면에서 data capture delivery 간에 의존성을 만든다.

예를 들어, delivery 가 캡쳐보다 느리면, 캡쳐활동은 반드시 중지되어야 한다.

계획되지 않은 장애에 대해, 분리된 경우 충격이 없는 시스템은 수행을 계속할 수 있다.

 

process-to-process 간 수행이 긴밀하게 묶여 있는 경우 확장성문제를 야기할 수 있다.

프로세스간 체크포인팅은 데이터 손실이 없다는 보장을 하기 위해 큰 비용이 필요하며,

많은 관리가 필요하고 비용도 발생한다. 네트워크 단절이 몇 분 이상 지속되면 또한

엄청난 자원 소모가 발생한다, 왜냐하면 두드러진 트랜잭션은 메모리에 큐 되어야 하고 결국에는

디스크로 스왑되어야 하기 때문이다.

 

트레일파일의 데이타를 준비하는데, Oracle GoldenGate 는 데이타소스와 이종의 서포트에 대해 분리하였다.

process-to-rocess 의 긴밀한 연결이 아닌경우, 분리된 아키텍쳐는 각 모듈이 각각의 일들을 독립적으로 수행하도록 한다.

 

Oracle Golden Gate Hardware 의 선택, OS 그리고 소스와 타겟의 데이터베이스에 대해 유연성을 제공한다.

Maximum Flexibility 와 간단한 사용, 사용자는 같은 실행에 대해 다른버전의 캡쳐, Delivery, Trail Files 을 사용할 수 있다.

 

Data Pumps

 

설정과 환경에 기반하여, 소스 시스템에 Trail Files 을 생성하고 Data pump (소스에서 타겟시스템으로 끊임없이 push 혹은 pump 하는) 라 불리우는 분리된 Oracle GoldenGate 특징을 사용하는것이 바람직할 것이다.

 

이 구성은 에러에 대한 내구성과 Oracle GoldenGate 환경 전반적으로 신뢰성에 대해 향상시킨다.

Network 실패에 대하여 (소스와 타겟 시스템 간의), Oracle GoldenGate 는 데이타가 소스측 트레일 파일의

큐에 지역적으로 대기하고 있기 때문에 트랜잭션의 캡쳐 지속이 가능하며, 데이터베이스 실패에 대해 복구성능을 향상시킨다.

 

Data Pump 특징은 데이타가 같은 소스로부터 다양한 타겟에 배포되어야 할 때 강력하게 추천하는 특징이다.

캡쳐모듈은 트랜잭션 캡쳐에 전적으로 집중하는데 반면, 개개의 Data Pumps 는 각 타겟에 대해 데이타 분산을 위해 셋팅될 수 있다.전체 환경에 있어 큰 효용을 가진다. 에러에 대한 내구성도 구성에 따라 크게 향상되는데 그 이유는 타겟과 관련된 어떤 에러든 소스의 캡쳐와 다른 타겟의 전송에 대해 충격이 없기 때문이다. 트랜잭션은 계속 캡쳐될 것이며, 전송되고 타겟 중 하나가 다운되더라도 계속 적용될 것이다.

 

데이타 펌프는 데이터베이스가 설치되어 있지 않은 중간시스템을 통해 전송될 수 있다.

 

Archival and Audit Capabilities

 

Trail Files 은 소스의 폐기된 delete, update 레코드를 insert 로 변환하여 이력을 관리할 수 있다.

감사나 규정준수 목적으로, OGG 는 분리된 이력 테이블을 각 레코드의 변경사항을 추적하기 위해 관리할 수 있다.

 

l  Oracle GoldenGate Delivery

 

Delivery module TrailFile 에 배치된 변경된 transactional data 를 취하며 target 데이타베이스에 적용한다.

Oracle GoldenGate Application Adapters 를 사용하는 경우 OGG XML 의 메시징 시스템으로 변경된 데이터데 퍼블리싱하는 기능이 추가되며, 뿐만 아니라 타사 제품 (이를테면 ETL 시스템)에 대해 평면적인 파일을 제공한다.

 

Data Integrity and Transaction Consistency

 

The Delivery module 은 각 데이터베이스의 변경을 같은 순서로 적용한다.

 

Column Mapping and Transformation

 

캡쳐와 함께, 사용자는 Delivery module user-defined 기준에 의해 타겟의 특정 테이블 뿐 아니라

개개의 rows columns 에 대해서도 구성이 가능하다.

 

이는 data warehose OLTP normalize, denormalize data 에 사용될 수 있다.

 

사용자는 명시적인 맵핑룰과 변환룰을 단순히 컬럼으로부터 더 복잡한(DATE, MATH, STRING, UTILITY FUNCTIONS) 정의할 수 있다.

 

만약 추가적인 정보, 데이타 품질, 통합, 그리고 기능적으로 필요로 하는 경우,

OGG 11g Oracle DAta Integrator Enterprise Edition 11g end-to-end data integration을 도울 수 있다.

 

Optimized High-speed, High Volumne Data Delivery

 

Delivery module 은 타겟 데이터베이스에 대해 변경된 트랜잭션을 최적화하기 위한 다양한 기술을 제공한다.

OGG posting processes 는 가능한곳에, 로컬에서 타겟 데이터베이스에 대해 수행, 네트워크 제한을 피해

최대한의 성능을 낸다. Delivery module 은 또한 원본 트랜잭션의 성격을 보호하면서 DISK I/O 를 최소화 한다.

추가로, 가능한 곳에, native database interfaces 를 통해 update 가 수행된다미들웨어나 내부 캐쉬는

예상되는 명령문의 빠른 수행을 위해 수행된다.

 

다수의 Delivery modules 은 대용량 데이타의 lag time  을 최소화 하기 위해 디플로이 될 수 있다.

이러한 capture-route-transform-apply 프로세스는 꾸준히 수행될 수 있으며, 소스의 가장 최근의 커밋된 트랜잭션은 즉시 이동되고 타겟으로 전송된다.

 

Deferred Apply

 

Flexibility 의 최대화를 위해, Delivery 모듈은 데이타를 즉시 적용하거나 유저에 의해 선택된 시간에 적용할 수 있다.

 

Java Message Service Delivery

 

데이터베이스에 추가적으로 Oracle GoldenGate Application Adapters 를 사용함으로써 변경 된 데이터를

JMS queues 에 발행할 수 있다. 소스데이터베이스의 트랜잭션 로그를 캡쳐한 이후, Oracle Golden Gate

캡쳐된 레코드를 JMS text 로 변환하며 메시지를 맵핑한다. 그리고 xml 을 포함한다.

변경 된 데이타는 일관성을 보장한 상태로 발행가능하다.

 

Flat File Delivery

 

Oracle GoldenGate Application Adapters 를 사용하면, 변경된 데이타를 타사 제품과의 통합을 위한 (이를테면 ETL) flat files 로 변환가능하다. 이러한 ETL 시스템은 staging table 을 읽는것보다 파일을 더 빠르게 읽을 수 있다.

오라클 골든게이트는 다양한 포맷을 제공하고, 구분 된 text files

binary files 그리고 이상적인 피딩 메커니즘을 제공한다.

 

l  Oracle GoldenGate Manager

 

Oracle GoldenGate 프로세스에 대해, Manager module command-line interface 를 제공한다.

 

- Oracle GoldenGate 프로세스에 대한 파라미터 구성 및 튜닝

- Capture Delivery modules 에 대한 Starting, stopping, monitoring

- Critical, informational event, and threshold reporting

- 자원관리

- Trail File 관리