동시 임포트

  • 릴리스 버전: Xanadu
  • 업데이트 날짜 2024년 08월 01일
  • 읽기4분
  • 들어오는 데이터를 여러 임포트 세트로 분할하고 동시에 임포트 세트를 변환하여 처리 시간을 줄입니다.

    동시 임포트를 실행하면 순서가 중요하지 않고 시간이 많이 걸리는 스크립트를 사용하는 대용량 데이터 세트로 인해 임포트에 시간이 오래 걸릴 때 유용할 수 있습니다. 순서가 중요한 경우 가져오기를 여러 파티션으로 분할하여 각 파티션이 순서대로 처리되도록 할 수 있습니다.

    주:
    동시 임포트는 처리 및 모니터링 오버헤드를 추가합니다. 큰 데이터 세트에만 사용하십시오.

    데이터베이스 인덱스 및 변환과 같은 다른 모든 매개변수를 미세 조정한 후에만 동시 임포트를 활성화합니다.

    동시 임포트 예약

    예약된 데이터 임포트 양식에서 동시 임포트를 선택하여 동시 임포트를 활성화합니다. 지침은 데이터 임포트 예약 문서를 참조하십시오.

    일정에서 동시 임포트를 실행하면 시스템은 데이터베이스, Excel 스프레드시트, CSV 파일 또는 기타 소스에서 임시 스테이징 테이블로 데이터를 끌어온 다음 스테이징 테이블에서 대상 테이블로 데이터를 변환합니다.

    동시 임포트를 실행하면 시스템은 시스템 속성 값 glide.scheduled_import.max.concurrent.import_sets (기본값 = 10)까지 여러 임포트 세트를 생성합니다. 예를 들어 노드가 2개인 클러스터는 4개의 임포트 세트를 생성하고, 노드가 10개인 클러스터는 10개의 임포트 세트를 생성합니다.

    임포트 세트 변환기 작업

    각 활성 노드는 1분마다 두 개의 임포트 세트 변환기 작업을 실행하며, 이러한 작업은 동시 임포트 세트 작업 큐를 폴링하고, 큐에서 임포트 세트를 선택하고, 해당 임포트 세트를 변환합니다. 모든 작업은 작업자 스레드의 가용성에 따라 동시에 실행됩니다.

    동시 임포트 세트 기록

    각 동시 임포트는 동시 임포트 세트 기록을 생성합니다. 양식 뷰에는 모든 관련 임포트 세트, 동시 임포트 세트 작업 및 변환 이력이 표시됩니다.

    임포트 세트를 다시 시작하거나 다시 처리할 수 있습니다. 자세한 내용은 동시 임포트 세트 모니터링 문서를 참조하십시오.

    동시 임포트 세트 작업 큐

    데이터를 로드한 후 시스템은 동시 임포트 세트 작업 테이블에 임포트 세트를 추가합니다. 동시 임포트 세트 작업 테이블은 각 동시 임포트 세트 작업의 작업 유형과 상태를 나타냅니다.

    자세한 내용은 동시 임포트 세트 작업 모니터링 문서를 참조하십시오.

    동시 임포트 파티셔닝

    임포트 세트를 분할하여 각 분할 내의 처리 순서를 유지할 수 있습니다.

    기본적으로 시스템은 라운드 로빈 방식으로 임포트 세트에 기록을 할당합니다. 그러나 사용자 지정 스크립트를 작성하여 대상 임포트 세트를 식별하는 사용자 지정 파티션 키를 정의할 수 있습니다. 동일한 파티션 키가 있는 모든 행은 동일한 임포트 집합에 추가되고 해당 임포트 집합의 데이터는 순차적으로 처리됩니다.

    계층적 임포트

    다른 임포트 세트가 완료된 후 임포트가 실행되도록 예약하여 예약된 임포트 세트 계층 구조를 만들 수 있습니다. 하나의 예약된 상위 임포트에는 여러 개의 예약된 하위 임포트가 있을 수 있으며, 예약된 각 하위 임포트는 지정된 순서대로 실행됩니다. 동시 예약된 임포트의 경우 모든 임포트 세트 변환기 작업이 완료된 후에만 하위 예약된 임포트를 시작할 수 있습니다.

    마지막 임포트 세트 변환기 작업은 계층 구조에서 다음 임포트를 시작합니다.

    시스템은 상위 임포트 프로세스를 시작할 때 실행 계획을 생성합니다. 각 임포트 프로세스는 실행 계획을 사용하여 호출할 다음 프로세스를 가져옵니다. 동시 임포트의 경우 마지막 임포트 세트 변환기 작업이 다음 임포트를 가져와 실행합니다.

    동기화된 삽입

    병합 필드는 기록 간의 고유성을 정의하는 데 도움이 됩니다. 변환 프로세스에서는 병합 값을 사용하여 기존 기록을 확인하고 기존 기록(있는 경우)을 업데이트하거나 없는 경우 새 기록을 삽입합니다. 자세한 내용은 병합을 사용하여 기록 업데이트 문서를 참조하십시오.

    기본적으로 동시 임포트에서는 실행 중인 각 임포트 세트가 새 기록을 삽입할 수 있습니다. 임포트 세트가 레코드를 삽입할 때 대상 테이블에 쓰기 잠금을 설정하여 다른 임포트 세트가 동일한 레코드를 삽입하지 못하도록 합니다.

    동시 임포트용 테이블

    테이블 설명
    동시 임포트 세트(sys_concurrent_import_set) 각 동시 임포트 세트의 상세 정보를 임포트 세트 기록에 저장합니다.
    동시 임포트 세트 작업(sys_concurrent_import_set_job) 처리할 임포트 세트를 나열합니다.
    예약된 임포트에 대한 실행 컨텍스트(sys_execution_context) 예약된 각 임포트에 대한 실행 컨텍스트 를 지정합니다. 실행 컨텍스트는 계층적 예약된 임포트를 처리할 때 사용할 다음 예약된 임포트를 지정합니다.
    계층적인 예약된 임포트 실행 계획(sys_execution_plan)입니다. 계층적 임포트에 대한 실행 계획을 저장합니다. 실행 계획은 앞의 예약된 입력 후에 실행되는 예약된 임포트를 식별하는 트리 구조입니다.

    동시 임포트가 있는 도메인 분리

    예약된 임포트 테이블에 sys_domain 필드를 추가하여 임포트 세트에 대한 도메인 분리를 활성화할 수 있습니다. 임포트 세트 로드 작업과 변환 작업은 모두 예약된 임포트 세트 작업에 지정된 도메인에서 실행됩니다.