복사 작업 성능 및 확장성 가이드
적용 대상: Azure Data Factory Azure Synapse Analytics
팁
기업용 올인원 분석 솔루션인 Microsoft Fabric의 Data Factory를 사용해 보세요. Microsoft Fabric은 데이터 이동부터 데이터 과학, 실시간 분석, 비즈니스 인텔리전스 및 보고에 이르기까지 모든 것을 다룹니다. 무료로 새 평가판을 시작하는 방법을 알아봅니다!
데이터 레이크 또는 EDW(엔터프라이즈 데이터 웨어하우스)에서 Azure로 대규모 데이터 마이그레이션을 수행하려는 경우가 있습니다. 빅 데이터 분석을 위해 다양한 원본에서 Azure로 대량의 데이터를 수집하려는 경우도 있습니다. 각각의 경우 최적의 성능과 확장성을 달성하는 것이 중요합니다.
Azure Data Factory 및 Azure Synapse Analytics 파이프라인은 데이터를 수집하는 메커니즘을 제공하며, 이점은 다음과 같습니다.
- 대량의 데이터 처리
- 성능이 뛰어나다
- 비용 효과적
이러한 장점은 성능이 뛰어난 확장성 있는 데이터 수집 파이프라인을 빌드하려는 데이터 엔지니어에게 매우 적합합니다.
이 문서를 읽은 후 다음 질문에 대답할 수 있습니다.
- 데이터 마이그레이션 및 데이터 수집 시나리오에 복사 작업을 사용하여 수행할 수 있는 성능 및 확장성 수준은 어느 정도인가요?
- 복사 작업의 성능을 조정하려면 어떤 단계를 수행해야 하나요?
- 단일 복사 작업 실행에 사용할 수 있는 성능 최적화는 무엇인가요?
- 복사 성능을 최적화할 때 고려해야 할 다른 외부 요인은 무엇인가요?
참고 항목
일반적으로 복사 작업에 익숙하지 않은 경우 이 문서를 읽기 전에 복사 작업 개요를 참조하세요.
Azure Data Factory 및 Synapse 파이프라인을 사용하여 달성 가능한 성능 및 확장성 복사
Azure Data Factory 및 Synapse 파이프라인은 다양한 수준에서 병렬 처리를 허용하는 서버리스 아키텍처를 제공합니다.
이 아키텍처를 통해 사용자 환경에 대한 데이터 이동 처리량을 최대화하는 파이프라인을 개발할 수 있습니다. 이러한 파이프라인은 다음 리소스를 완전히 활용합니다.
- 원본 데이터 저장소와 대상 데이터 저장소 간의 네트워크 대역폭
- 원본 또는 대상 데이터 저장소 IOPS(초당 입력/출력 작업) 및 대역폭
이 전체 사용률은 다음 리소스에서 사용할 수 있는 최소 처리량을 측정하여 전체 처리량을 예측할 수 있습니다.
- 원본 데이터 스토리지
- 대상 데이터 저장소
- 원본 및 대상 데이터 저장소 간의 네트워크 대역폭
아래 표에서는 데이터 이동 기간의 계산을 보여줍니다. 각 셀의 기간은 지정된 네트워크 및 데이터 저장소 대역폭과 지정된 데이터 페이로드 크기를 기준으로 계산됩니다.
참고 항목
아래에 제공된 기간은 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일 | 하루 | 0.2일 |
1PB | 64.7달 | 32.4달 | 6.5 mo | 3.2 mo | 0.6달 | 0.3달 | 0.06달 |
10 PB | 647.3달 | 323.6 mo | 64.7달 | 31.6 mo | 6.5 mo | 3.2 mo | 0.6달 |
복사는 다양한 수준에서 확장 가능합니다.
제어 흐름은 여러 복사 작업을 병렬로 시작할 수 있습니다(예: For Each 루프 사용).
단일 복사 작업은 확장 가능한 컴퓨팅 리소스를 활용할 수 있습니다.
- Azure IR(통합 런타임)을 사용하는 경우 각 복사 작업에 대해 최대 256개의 DIUs(데이터 통합 단위)를 서버를 사용하지 않는 방식으로 지정할 수 있습니다.
- 자체 호스팅 IR을 사용하는 경우 다음 방법 중 하나를 사용할 수 있습니다.
- 컴퓨터를 수동으로 확장합니다.
- 여러 컴퓨터 (최대 4 개 노드)로 규모를 스케일 아웃하고, 단일 복사 작업은 모든 노드에 걸쳐 해당 파일 집합을 파티션합니다.
단일 복사 작업은 여러 스레드를 병렬로 사용하여 데이터 저장소에서 읽고 씁니다.
성능 튜닝 단계
복사 작업을 사용하여 서비스의 성능을 조정하려면 다음 단계를 수행합니다.
테스트 데이터 집합을 선택하고 기준선을 설정합니다.
개발 중 대표적인 데이터 샘플에 대한 복사 작업을 사용하여 파이프라인을 테스트합니다. 선택한 데이터 세트는 다음 특성에 따라 일반적인 데이터 패턴을 나타내야 합니다.
- 폴더 구조
- 파일 패턴
- 데이터 스키마
그리고 데이터 집합은 복사 성능을 평가할 만큼 충분히 커야 합니다. 복사 작업이 완료되는 데 10분 이상 걸립니다. 복사 작업 모니터링에 따른 실행 세부 정보 및 성능 특성을 수집합니다.
단일 복사 작업의 성능을 최대화하는 방법:
먼저 단일 복사 작업을 사용하여 성능을 최대화하는 것이 좋습니다.
복사 작업이 Azure 통합 런타임에서 실행되는 경우:
자체 호스팅 통합 런타임에서 복사 작업이 실행되는 경우:
전용 컴퓨터를 사용하여 IR을 호스트하는 것이 좋습니다. 컴퓨터는 데이터 저장소를 호스팅하는 서버와 분리되어야 합니다. 병렬 복사 설정의 기본값으로 시작하고 자체 호스팅 IR에 단일 노드를 사용합니다.
성능 테스트 실행을 수행합니다. 달성된 성능을 기록해 둡다. 사용되는 실제 값(예: DIUs 및 병렬 복사본)을 포함합니다. 사용된 실행 결과 및 성능 설정을 수집하는 방법에 대한 복사 작업 모니터링을 참조하세요. 복사 작업 성능 문제를 해결하여 병목 상태를 식별하고 해결하는 방법을 알아봅니다.
문제 해결 및 튜닝 지침에 따라 추가 성능 테스트 실행을 수행하도록 반복합니다. 단일 복사 작업 실행이 더 나은 처리량을 달성할 수 없으면 여러 복사본을 동시에 실행하여 집계 처리량을 최대화할지 여부를 고려합니다. 이 옵션은 다음 번호 매기기 글머리 기호에서 설명합니다.
여러 복사본을 동시에 실행하여 집계 처리량을 최대화하는 방법:
지금까지 단일 복사 작업의 성능을 최대화했습니다. 환경에 대한 처리량 상한을 아직 달성하지 않은 경우 여러 개의 복사 작업을 병렬로 실행할 수 있습니다. 제어 흐름 구문을 사용하여 병렬로 실행할 수 있습니다. 이러한 구문 중 하나는 For each 루프입니다. 자세한 내용은 솔루션 템플릿에 대한 다음 문서를 참조하세요.
구성을 전체 데이터 세트로 확장합니다.
실행 결과 및 성능에 만족하는 경우 전체 데이터 세트를 포함하도록 정의 및 파이프라인을 확장할 수 있습니다.
복사 작업 성능 문제 해결
성능 튜닝 단계에 따라 시나리오에 대한 성능 테스트를 계획하고 수행합니다. 그리고 복사 작업 성능 문제 해결에서 각 복사 작업 실행의 성능 문제를 해결하는 방법에 대해 알아봅니다.
성능 최적화 기능 복사
이 서비스는 다음과 같은 성능 최적화 기능을 제공합니다.
데이터 통합 단위
DIU(데이터 통합 단위)는 Azure Data Factory 및 Synapse 파이프라인에 있는 단일 유닛의 전원을 나타내는 단위입니다. 전원은 CPU, 메모리 및 네트워크 리소스 할당의 조합입니다. DIU는 Azure 통합 런타임에만 적용됩니다. DIU는 자체 호스팅 통합 런타임에는 적용되지 않습니다. 여기를 참조하세요.
자체 호스팅 통합 런타임 확장성
증가하는 동시 워크로드를 호스트할 수 있습니다. 또는 현재 워크로드 수준에서 더 높은 성능을 달성하길 원할 수 있습니다. 다음 방법을 통해 처리 규모를 향상시킬 수 있습니다.
- 노드에서 실행할 수 있는 동시 작업 수를 늘려 자체 호스팅 IR을 확장 할 수 있습니다.
확장은 노드의 프로세서와 메모리가 완전히 활용되지 않는 경우에만 작동합니다. - 노드(컴퓨터)를 더 추가하여 자체 호스팅 IR을 확장 할 수 있습니다.
자세한 내용은 다음을 참조하세요.
병렬 복사
복사 작업을 사용할 병렬 처리를 나타내도록 속성을 설정할 parallelCopies
수 있습니다. 이 속성은 복사 작업 내의 최대 스레드 수로 간주합니다. 스레드는 병렬로 작동합니다. 스레드는 원본에서 읽거나 싱크 데이터 저장소에 기록합니다. 자세히 알아보기.
준비된 복사
데이터 복사 작업은 싱크 데이터 저장소에 직접 데이터를 보낼 수 있습니다. 또는 Blob Storage를 중간 준비 저장소로 사용하도록 선택할 수 있습니다. 자세히 알아보기.
관련 콘텐츠
다른 복사 작업 문서를 참조하세요.