복원성 설계
복원형 통합을 설계할 때 이러한 모범 사례를 사용합니다.
재시작 동작 디자인
Oracle Data Integrator의 의미는 무엇입니까?
- 변수를 사용하여 로드 중인 프로세스의 식별자를 추적하고 가능한 경우 중간 데이터 스테이지(스테이지 테이블의 추가 열) 에 해당 값을 추가할 수 있습니다.
- 다음 변수를 사용하여 각 시나리오 실행에 대해 다른 세션 이름(
SESS_NAME
) 을 설정합니다. 그러면 운영자가 정확히 찾을 수 없는 프로세스를 즉시 식별할 수 있습니다. 시나리오 세션에 고유한 또는 동적 이름 사용 을 참조하십시오. - 동일한 프로세스를 사용하여 수백 개의 파일을 로드하는 이전 예를 선택하는 경우 모든 파일에 대해 동일한 일반 작업 이름을 가진 파일 뒤에 작업을 지정할 수 있습니다.
운용중단 영향 제한을 위한 설계
미리 정의된 시간에 대량의 추출을 실행하면 전체 기반구조에 많은 영향을 미칩니다.
예를 들어, 다음과 같습니다.
- 소스 시스템은 요청을 처리할 필요가 없으므로 영향을 받습니다.
- 요청 서비스에 대역폭이 불구하여 네트워크에 영향을 미칩니다.
- 처리해야 하는 데이터 양이 부족하여 전체 통합 작업이 실행되는 데 더 오래 걸립니다.
- 통합 시 네트워크의 작은 Blob 또는 장애가 발생할 경우 통합 작업에 큰 영향을 미칠 수 있습니다.
통합 작업은 뱃치 또는 실시간으로 수행할 필요가 없습니다. 종종 모두 가능합니다. 최종 로드가 뱃치 작업이어야 하는 경우(예를 위해 데이터가 통합되거나 합산되기 때문에) 추출 및 일부 사전 통합 프로세스는 더 실시간 방식으로 수행할 수 있습니다. 이렇게 하면 전체 기반 구조에 대한 로드가 줄어들고 통합 시 소스 시스템에 액세스하려고 시도할 때 발생할 영향을 제한하십시오. 데이터가 추출되고 스트리밍 방식으로 준비된 경우 최종 통합 시간이 되면 소스 시스템에 액세스할 필요가 없습니다.
Oracle Data Integrator는 패키지 구축에서 새 데이터를 사용할 수 있음을 감지하는 데 사용할 수 있는 수많은 도구를 제공합니다. 목록은 이벤트 기반 툴 사용 을 참조하십시오.
실제 복제와 통합의 경우 Oracle Data Integrator는 위에 언급된 api를 활용하여 변경 사항 소비를 허용하는 기반 구조를 생성할 수 있습니다.
데이터 삽입 및 병합 사이 선택
데이터 로드에 대한 INSERT 방식과 MERGE 접근 방식 간에는 균형이 떨어집니다. 통합 전략 외에도 로드가 부분적으로 실패할 때 발생하는 상황을 고려해야 할 수 있습니다.
대상 시스템에서 데이터를 로드하는 방법에 따라 제대로 로드된 항목과 실패한 항목을 구별하거나 부분 로드의 요소를 식별하는 것이 복잡해질 수 있습니다. 디자인 관점에서 수행하는 모든 작업은 대상 시스템에 데이터를 추가하는 경우에도 복구 관점에서 이미 대상 시스템에 있는 데이터와 수신 데이터를 병합하는 데 유용한 이점을 얻을 수 있습니다.
이 방식을 선택하면 이 전략이 로드의 성능에 미치는 영향을 두 번 검사할 수 있습니다. 하지만 완전히 최적화된 INSERT 로드가 실패하는 것은 성공하는 덜 효율적인 MERGE보다 빠릅니다.
Oracle Data Integrator 관점에서 INSERT 전략에서 MERGE 전략으로 변경할 경우 매우 간단한 작업은 통합 전략을 변경하고 적합한 지식 모듈을 선택해야 합니다. 이렇게 하면 다수의 매핑에 대한 지식 모듈을 변경하는 것이 어려운 작업일 수 있습니다. Oracle Data Integrator SDK를 사용하여 이러한 작업을 자동화할 수 있습니다.
계획된 운용중단을 제한하기 위한 설계
일반적으로 패치 적용 및 업그레이드를 위해 계획된 운용중단이 필요합니다.
패치 적용 및 업그레이드가 고객 및 일반 사용자 관점에서 더 완벽하고 원활하게 이루어지는 클라우드 환경에서는 통합 프로세스의 코드에 패치를 적용하기 때문에 중단에 마지막을 수 있습니다. 즉, 중단이 최소값으로 유지되도록 패치 작업이 앞으로 진행되는 개발 전략의 일부여야 합니다.
Oracle Data Integrator의 실행 단위는 시나리오입니다. 시나리오가 생성되면 버전 번호(001로 시작) 와 연결됩니다. 현재 버전을 덮어쓰도록 시나리오를 다시 생성하거나 새 버전을 생성할 수 있습니다(002, 003등).
시나리오를 호출할 때 Oracle은 항상 버전 번호 -1을 지정할 것을 권장합니다. 다음과 같은 두 가지 이점이 있습니다.
- Oracle Data Integrator은 항상 최신 버전의 시나리오를 사용합니다. 새 버전을 생성할 때 이러한 시나리오를 호출하는 방법을 변경할 필요가 없습니다.
- 시나리오의 새 버전을 생성한 직후 Oracle Data Integrator에서 실행되는 버전입니다. 에이전트 청사진 캐시 시간 초과 구성 에서는 가능한 지연을 제어하는 방법에 대해 설명합니다. Oracle Data Integrator에서 최신 버전의 통합 시나리오를 사용하기 위해 Oracle Data Integrator 또는 사용 중인 외부 통합관리 툴을 정지 및 재시작하지 않아도 됩니다.
주: 이 방식은 Oracle Data Integrator에 무한 루프가 없는 경우에만 가능합니다. Oracle Data Integrator 에서는 무한 루프가 권장되지 않습니다(실제로 기울임 방지 패턴으로 한정됨).
- Oracle Data Integrator 로그를 복제합니다. 로그 비우기는 실행 중인 작업에 영향을 주지 않습니다. 해당 로그를 비울 수 없으므로 무한 루프는 항상 실행됩니다.
- ODI에서 시나리오의 실시간 패치 작업을 금지합니다. 시나리오의 새 버전을 선택하려면 해당 시나리오를 시작할 수 있는 기회가 있어야 합니다. 무한 루프가 종료되지 않으며 재시작할 가능성이 없습니다.
- 무한 루프가 있는 대신 동일한 시나리오를 비동기적으로 호출하여 시나리오를 완료할 수 있습니다. 마지막 시나리오 종료 전 시나리오의 마지막 단계는 새 세션에서 새 복사본의 새 복사본을 시작합니다.