복사 작업 성능 및 확장성 가이드

적용 대상: Azure Data Factory Azure Synapse Analytics

Tip

Microsoft Fabric의 데이터 팩토리는 더 간단한 아키텍처, 기본 제공 AI 및 새로운 기능을 갖춘 차세대 Azure 데이터 팩토리입니다. 데이터 통합을 접하는 경우 Fabric Data Factory부터 시작합니다. 기존 ADF 워크로드는 Fabric 업그레이드하여 데이터 과학, 실시간 분석 및 보고 전반에 걸쳐 새로운 기능에 액세스할 수 있습니다.

데이터 레이크 또는 EDW(엔터프라이즈 데이터 웨어하우스)에서 Azure 대규모 데이터 마이그레이션을 수행하려는 경우가 있습니다. 빅 데이터 분석을 위해 다양한 원본에서 Azure 대량의 데이터를 수집하려는 경우도 있습니다. 각각의 경우 최적의 성능과 확장성을 달성하는 것이 중요합니다.

Azure Data Factory 및 Azure Synapse Analytics 파이프라인은 다음과 같은 장점과 함께 데이터를 수집하는 메커니즘을 제공합니다.

  • 대량의 데이터를 처리한다
  • 고성능
  • 비용 효율적입니다.

이러한 이점은 고성능의 확장성 있는 데이터 수집 파이프라인을 구축하려는 데이터 엔지니어에게 매우 적합합니다.

이 문서를 읽은 다음에는 다음과 같은 질문에 답할 수 있습니다.

  • 데이터 마이그레이션 및 데이터 수집 시나리오에서 복사 작업을 사용하여 어떤 수준의 성능과 확장성을 달성할 수 있나요?
  • 복사 작업의 성능을 조정하기 위해 수행해야 하는 단계는 무엇인가요?
  • 단일 복사 작업을 실행하는 데 활용할 수 있는 성능 최적화 기능은 무엇인가요?
  • 복사 성능을 최적화할 때 고려할 다른 외부 요소는 무엇인가요?

Note

일반적으로 복사 작업에 익숙하지 않은 경우 이 문서를 읽기 전에 복사 작업 개요를 참조하세요.

Azure Data Factory 및 Synapse 파이프라인을 사용하여 달성 가능한 성능 및 확장성 복사

Azure Data Factory 및 Synapse 파이프라인은 서로 다른 수준에서 병렬 처리를 허용하는 서버리스 아키텍처를 제공합니다.

이 아키텍처를 통해 사용자 환경에 대한 데이터 이동 처리량을 최대화하는 파이프라인을 개발할 수 있습니다. 이러한 파이프라인은 다음 리소스를 완벽하게 활용합니다.

  • 원본 및 대상 데이터 저장소 간의 네트워크 대역폭
  • 원본 또는 대상 데이터 저장소 IOPS(초당 입력/출력 작업 수) 및 대역폭

이 전체 사용률을 통해 다음 리소스와 함께 사용할 수 있는 최소 처리량을 측정하여 전체 처리량을 예측할 수 있습니다.

  • 원본 데이터 스토리지
  • 대상 데이터 저장소
  • 원본 및 대상 데이터 저장소 간의 네트워크 대역폭

아래 표에서는 데이터 이동 기간의 계산을 보여 줍니다. 각 셀의 기간은 지정된 네트워크 및 데이터 저장소 대역폭과 지정된 데이터 페이로드 크기를 기준으로 계산됩니다.

Note

아래에 제공된 기간은 ForEach를 사용해 여러 개의 동시 복사 작업을 분할 및 생성하는 등 복사 성능 최적화 기능에 설명된 성능 최적화 기술을 하나 이상 이용하여 엔드투엔드 데이터 통합 솔루션에서 달성 가능한 성능을 나타냅니다. 특정 데이터 세트 및 시스템 구성에 대한 복사 성능을 최적화하려면 성능 튜닝 단계에 나와 있는 단계를 따르는 것이 좋습니다. 성능 튜닝 테스트에서 얻은 숫자를 프로덕션 배포 계획, 용량 계획 및 청구 프로젝션에 사용해야 합니다.

 

데이터 크기 /
bandwidth
50Mbps 100Mbps 500Mbps 1Gbps 5Gbps 10Gbps 50Gbps
1GB 2.7분 1.4분 0.3분 0.1분 0.03분 0.01분 0.0분
10GB 27.3분 13.7분 2.7분 1.3분 0.3분 0.1분 0.03분
100GB 4.6시간 2.3시간 0.5시간 0.2시간 0.05시간 0.02시간 0.0시간
1TB 46.6시간 23.3시간 4.7시간 2.3시간 0.5시간 0.2시간 0.05시간
10TB 19.4일 9.7일 1.9일 0.9일 0.2일 0.1일 0.02일
100TB 194.2일 97.1일 19.4일 9.7일 1.9일 1일 0.2일
1 PB 64.7 mo 32.4 mo 6.5 mo 3.2 mo 0.6개월 0.3개월 0.06 mo
10 PB 647.3 mo 323.6 mo 64.7 mo 31.6 mo 6.5 mo 3.2 mo 0.6개월

복사본은 다양한 수준에서 확장 가능합니다.

복사본 크기 조정 방법

  • 제어 흐름에서는 여러 복사 작업을 병렬로 시작할 수 있습니다(예: For Each 루프 사용).

  • 단일 복사 작업은 확장 가능한 컴퓨팅 리소스를 활용할 수 있습니다.

    • AZURE IR(통합 런타임)을 사용하는 경우 서버리스 방식으로 각 복사 작업에 최대 256개의 DIU(데이터 통합 단위) 지정할 수 있습니다.
    • 자체 호스팅 IR을 사용하는 경우 다음 방법 중 하나를 사용할 수 있습니다.
      • 수동으로 컴퓨터를 스케일 업합니다.
      • 여러 컴퓨터 (최대 4 개 노드)로 규모를 스케일 아웃하고, 단일 복사 작업은 모든 노드에 걸쳐 해당 파일 집합을 파티션합니다.
  • 단일 복사 작업은 여러 스레드를 병렬로 사용하여 데이터 저장소에서 읽고 씁니다.

성능 튜닝 단계

복사 작업을 사용하여 서비스의 성능을 조정하려면 다음 단계를 수행합니다.

  1. 테스트 데이터 집합을 선택하고 기준선을 설정합니다.

    개발 중 대표적인 데이터 샘플에 대한 복사 작업을 사용하여 파이프라인을 테스트합니다. 선택한 데이터 집합은 다음과 같은 특성을 따르는 일반적인 데이터 패턴을 나타내야 합니다.

    • 폴더 구조
    • 파일 패턴
    • 데이터 스키마

    또한 데이터 세트는 복사 성능을 평가할 만큼 충분히 커야 합니다. 복사 작업이 완료되기까지 적절한 데이터 크기의 경우 최소 10분 이상 소요됩니다. 복사 작업 모니터링에서 실행 세부 정보 및 성능 특성을 파악합니다.

  2. 단일 복사 작업의 성능을 최대화하는 방법:

    먼저 단일 복사 작업을 사용하여 성능을 최대화하는 것이 좋습니다.

    • Azure 통합 런타임에서 복사 작업이 실행되는 경우:

      DIU(데이터 통합 단위)병렬 복사 설정에 대한 기본값을 사용하여 시작합니다.

    • 복사 작업이 자체 호스팅 통합 런타임에서 실행되는 경우:

      독립된 시스템을 사용하여 IR(정보 자원)을 호스팅하는 것이 좋습니다. 컴퓨터는 데이터 저장소를 호스트하는 서버와 분리해야 합니다. 병렬 복사 설정의 기본값을 사용하여 시작하고 자체 호스팅 IR에 단일 노드를 사용합니다.

    성능 테스트 실행을 수행합니다. 달성한 성능을 적어둡니다. 사용되는 실제 값(예: DIUs 및 병렬 복사본)을 포함합니다. 사용되는 실행 결과 및 성능 설정을 수집하는 방법에 대한 복사 작업 모니터링을 참조하세요. 병목 상태를 식별하고 해결하기 위해 복사 작업 성능 문제를 해결하는 방법에 대해 알아봅니다.

    문제 해결 및 튜닝 지침에 따라 더 많은 성능 테스트 실행을 수행하도록 반복합니다. 단일 복사 작업 실행이 더 나은 처리량을 달성할 수 없으면 여러 복사본을 동시에 실행하여 집계 처리량을 최대화할지 여부를 고려합니다. 이 옵션은 번호가 매겨진 다음 글머리 기호에서 설명합니다.

  3. 여러 복사본을 동시에 실행하여 집계 처리량을 최대화하는 방법:

    이제 단일 복사 작업의 성능을 최대화 했습니다. 환경의 처리량 상한을 아직 달성하지 못한 경우 여러 복사 작업을 병렬로 실행할 수 있습니다. 제어 흐름 구문을 사용하여 병렬로 실행할 수 있습니다. 이러한 구문 중 하나는 For each 루프입니다. 자세한 내용은 솔루션 템플릿에 대한 다음 문서를 참조하세요.

  4. 전체 데이터 집합으로 구성 확장.

    실행 결과 및 성능에 만족하면 정의 및 파이프라인을 확장하여 전체 데이터 집합을 포함할 수 있습니다.

복사 작업 성능 문제 해결

성능 튜닝 단계를 따라 시나리오에 대한 성능 테스트를 계획하고 수행합니다. 그리고 복사 작업 성능 문제 해결에서 각 복사 작업 실행의 성능 문제를 해결하는 방법에 대해 알아봅니다.

복사 작업 성능 최적화 기능

서비스에서 제공하는 성능 최적화 기능은 다음과 같습니다.

데이터 통합 단위

DIU(데이터 통합 단위)는 Azure Data Factory 및 Synapse 파이프라인에서 단일 단위의 성능을 나타내는 측정값입니다. 전원은 CPU, 메모리 및 네트워크 리소스 할당의 조합입니다. DIU는 Azure 통합 런타임만 적용됩니다. DIU는 자체 호스팅 통합 런타임에 적용되지 않습니다. 여기를 참조하세요.

자체 호스팅 통합 런타임 확장성

늘어나는 동시 워크로드를 호스트할 수도 있습니다. 또는 현재 워크로드 수준에서 더 높은 성능을 달성하길 원할 수 있습니다. 다음 방법으로 처리 규모를 향상 시킬 수 있습니다.

  • 노드에서 실행할 수 있는 동시 작업 수를 스케일 업해서 자체 호스팅 IR을 확장할 수 있습니다.
    스케일 업 작업은 노드의 프로세서와 메모리가 완전히 활용된 것 보다 작은 경우에만 작동합니다.
  • 노드(머신)를 추가하여 자체 호스팅 IR을 스케일 아웃할 수 있습니다.

자세한 내용은 다음을 참조하세요.

병렬 복사

parallelCopies 속성을 설정하여 복사 작업에 사용할 병렬 처리를 나타낼 수 있습니다. 이 속성은 복사 작업 내의 최대 스레드 수로 간주합니다. 스레드가 병렬로 작동합니다. 스레드는 원본에서 읽거나 싱크 데이터 저장소에 기록합니다. 자세히알아보세요.

단계별로 준비된 복사

데이터 복사 작업은 데이터를 싱크 데이터 저장소로 직접 보낼 수 있습니다. 또는 Blob Storage를 임시 준비 저장소로 사용하도록 선택할 수 있습니다. 자세히알아보세요.

다른 복사 작업 문서를 참조하세요.