다음을 통해 공유


전용 SQL 풀에 대한 컴퓨팅 리소스 관리

이 문서에서는 Azure Synapse Analytics에서 전용 SQL 풀(이전의 SQL DW)에 대한 컴퓨팅 리소스를 관리하는 방법을 설명합니다. 전용 SQL 풀을 일시 중지하여 비용을 절감하거나 성능 요구에 맞게 전용 SQL 풀을 확장할 수 있습니다.

컴퓨팅 관리란?

전용 SQL 풀의 아키텍처는 스토리지와 컴퓨팅을 분리하여 각각 독립적으로 크기 조정할 수 있습니다. 이에 따라 데이터 스토리지와는 관계없이 성능 요구 사항에 맞게 컴퓨팅의 크기를 조정할 수 있습니다. 또한 컴퓨팅 리소스를 일시 중지했다가 다시 시작할 수도 있습니다.

이 아키텍처 의 자연스러운 결과는 컴퓨팅 및 스토리지에 대한 가격 책정 이 별개라는 것입니다. 전용 SQL 풀을 한동안 사용할 필요가 없으면 컴퓨팅을 일시 중지하여 컴퓨팅 비용을 절감할 수 있습니다.

컴퓨팅 크기 조정

전용 SQL 풀에 대한 DWU(데이터 웨어하우스 단위) 설정을 조정하여 컴퓨팅을 확장하거나 축소할 수 있습니다. 더 많은 DWU를 추가하면 로드 및 쿼리 성능이 선형적으로 증가할 수 있습니다.

스케일 아웃 단계는 Azure Portal, PowerShell 또는 T-SQL에 대한 빠른 시작을 참조하세요. REST API를 사용하여 스케일 아웃 작업을 수행할 수도 있습니다.

크기 조정 작업을 수행하기 위해 전용 SQL 풀은 먼저 들어오는 모든 쿼리를 종료한 다음 트랜잭션을 롤백하여 일관된 상태를 보장합니다. 크기 조정은 트랜잭션 롤백이 완료된 후에만 수행됩니다. 크기 조정 작업의 경우 시스템은 컴퓨팅 노드에서 스토리지 계층을 분리하고 컴퓨팅 노드를 추가한 다음 스토리지 계층을 컴퓨팅 계층에 다시 연결합니다.

각 전용 SQL 풀은 컴퓨팅 노드에 균등하게 분산되는 60개의 배포로 저장됩니다. 컴퓨팅 노드를 더 추가할수록 컴퓨팅 능력이 더 많이 추가됩니다. 컴퓨팅 노드 수가 늘어나면 컴퓨팅 노드당 배포 수가 줄어들어 쿼리에 대한 컴퓨팅 능력이 더 많이 제공됩니다. 마찬가지로 DWU를 줄이면 컴퓨팅 노드 수가 줄어들어 쿼리에 대한 컴퓨팅 리소스가 줄어듭니다.

다음 표에서는 DWU가 변경됨에 따라 컴퓨팅 노드당 분포 수가 어떻게 변경되는지 보여 줍니다. DW30000c는 60개의 컴퓨팅 노드를 제공하며 DW100c보다 훨씬 높은 쿼리 성능을 달성합니다.

DWU(데이터 웨어하우스 단위) 컴퓨팅 노드 수 노드당 배포 수
DW100c 1 60
DW200c 1 60
DW300c 1 60
DW400c 1 60
DW500c 1 60
DW1000c 2 30
DW1500c 3 20
DW2000c 4 15
DW2500c 5 12
DW3000c 6 10
DW5000c 10 6
DW6000c 12 5
DW7500c 15 4
DW10000c 20 3
DW15000c 30 2
DW30000c 60 1

올바른 데이터 웨어하우스 단위 크기 찾기

확장, 특히 더 큰 데이터 웨어하우스 단위의 성능상 이점을 알아보기 위해 최소한 1TB의 데이터 집합을 사용하려고 합니다. 전용 SQL 풀에 가장 적합한 DWU 수를 찾으려면 확장 및 축소해 보세요. 데이터를 로드한 후 여러 DWU를 사용하여 몇 가지 쿼리를 실행합니다. 크기 조정이 빠르기 때문에 1시간 이내에 다양한 성능 수준을 시험해 볼 수 있습니다.

최상의 DWU 수를 찾기 위한 권장 사항:

  • 개발 중인 전용 SQL 풀의 경우 먼저 더 적은 수의 DWU를 선택합니다. 적합한 시작점은 DW400c나 DW200c입니다.
  • 애플리케이션 성능을 모니터링하여 선택한 DWU 수를 관찰하는 성능과 비교하여 관찰합니다.
  • 선형 배율을 가정하고 DWU를 늘리거나 줄이는 데 필요한 양을 결정합니다.
  • 비즈니스 요구 사항에 맞는 최적 성능 수준에 도달할 때까지 계속 조정합니다.

확장하는 경우

DWU를 확장하면 다음과 같은 성능 측면에 영향을 줍니다.

  • 검사, 집계 및 CTAS 문에 대한 시스템의 성능을 선형적으로 향상시킵니다.
  • 데이터 로드를 위한 판독기 및 기록기 수 증가
  • 동시 쿼리 및 동시성 슬롯의 최대 수

DWU를 스케일 아웃하는 경우에 대한 권장 사항:

  • 대량의 데이터 로드 또는 변환 작업을 수행하기 전에 데이터를 더 빠르게 사용할 수 있도록 확장합니다.
  • 가장 바쁜 업무 시간에 많은 수의 동시 쿼리를 수용할 수 있도록 확장합니다.

스케일 아웃이 성능을 향상하지 않는 경우 어떻게 해야 할까요?

DWU를 추가하면 병렬 처리가 증가합니다. 작업이 컴퓨팅 노드 간에 균등하게 분할되면 추가 병렬 처리가 쿼리 성능을 향상시킵니다. 스케일 아웃이 성능을 변경하지 않는 경우 이러한 문제가 발생할 수 있는 몇 가지 이유가 있습니다. 데이터가 배포를 통해 왜곡되거나 쿼리에서 대량의 데이터 이동이 발생할 수 있습니다. 쿼리 성능 문제를 조사하려면 성능 문제 해결을 참조하세요.

컴퓨팅 일지 중지 및 다시 시작

컴퓨팅을 일시 중지하면 스토리지 계층이 컴퓨팅 노드에서 분리됩니다. 컴퓨팅 리소스는 계정에서 해제됩니다. 컴퓨팅이 일시 중지되는 동안에는 컴퓨팅 요금이 청구되지 않습니다. 컴퓨팅을 다시 시작하면 스토리지가 컴퓨팅 노드에 다시 연결되고 컴퓨팅 요금이 다시 시작됩니다.

전용 SQL 풀을 일시 중지하는 경우:

  • 컴퓨팅 및 메모리 리소스는 데이터 센터에서 사용 가능한 리소스 풀로 반환됩니다.
  • 일시 중지하는 동안 데이터 웨어하우스 단위 비용은 0입니다.
  • 데이터 스토리지는 영향을 받지 않으며 데이터는 그대로 유지됩니다.
  • 실행 중이거나 대기 중인 모든 작업이 취소됩니다.
  • DMV 카운터가 다시 설정됩니다.

전용 SQL 풀을 다시 시작하는 경우:

  • 전용 SQL 풀은 DWU 설정에 대한 컴퓨팅 및 메모리 리소스를 획득합니다.
  • DWU 다시 시작에 대한 컴퓨팅 요금입니다.
  • 데이터를 사용할 수 있게 됩니다.
  • 전용 SQL 풀이 온라인 상태가 된 후 워크로드 쿼리를 다시 시작해야 합니다.

전용 SQL 풀에 항상 액세스할 수 있도록 하려면 일시 중지하지 않고 가장 작은 크기로 축소하는 것이 좋습니다.

일시 중지 및 다시 시작 단계는 Azure Portal 또는 PowerShell에 대한 빠른 시작을 참조하세요. 또한 일시 중지 REST API 또는 다시 시작 REST API를 사용할 수도 있습니다.

일시 중지 또는 크기 조정 전 트랜잭션 비우기

일시 중지 또는 크기 조정 작업을 시작하기 전에 기존 트랜잭션이 완료되도록 허용하는 것이 좋습니다.

전용 SQL 풀을 일시 중지하거나 크기를 조정하면 일시 중지 또는 크기 조정 요청을 시작할 때 쿼리가 취소됩니다. 간단한 SELECT 쿼리를 취소하는 것은 빠른 작업이며 인스턴스를 일시 중지하거나 크기를 조정하는 데 걸리는 시간에 거의 영향을 주지 않습니다. 그러나 데이터 또는 데이터 구조를 수정하는 트랜잭션 쿼리는 신속하게 중지하지 못할 수 있습니다. 정의에 따라 트랜잭션 쿼리는 전체에서 완료하거나 변경 내용을 롤백해야 합니다.

트랜잭션 쿼리로 완료된 작업을 롤백하는 데는 쿼리가 적용된 원래 변경 사항보다 시간이 훨씬 더 오래 걸릴 수 있습니다. 예를 들어 행을 삭제하고 이미 한 시간 동안 실행 중인 쿼리를 취소하는 경우 시스템에서 삭제된 행을 다시 삽입하는 데 1시간이 걸릴 수 있습니다. 트랜잭션이 진행 중인 동안 일시 중지 또는 크기 조정을 실행하는 경우 일시 중지 및 크기 조정을 계속하기 전에 롤백이 완료될 때까지 기다려야 하기 때문에 일시 중지 또는 크기 조정에 시간이 오래 걸릴 수 있습니다.

자세한 내용은 트랜잭션 사용 및 트랜잭션 최적화를 참조하세요.

컴퓨팅 관리 자동화

컴퓨팅 관리 작업을 자동화하려면 Azure Functions 를 사용하여 전용 SQL 풀에 대한 컴퓨팅 리소스를 관리합니다.

각각의 확장, 일시 중지 및 다시 시작 작업을 완료하는 데 몇 분이 걸릴 수 있습니다. 자동으로 크기 조정, 일시 중지 또는 다시 시작하는 경우 다른 작업을 진행하기 전에 특정 작업이 완료되도록 논리를 구현하는 것이 좋습니다. 다양한 엔드포인트를 통해 전용 SQL 풀 상태를 확인하면 이러한 작업의 자동화를 올바르게 구현할 수 있습니다.

전용 SQL 풀 상태를 확인하려면 PowerShell 또는 T-SQL에 대한 빠른 시작을 참조하세요. REST API를 사용하여 전용 SQL 풀 상태를 확인할 수도 있습니다.

사용 권한

전용 SQL 풀의 크기를 조정하려면 ALTER DATABASE에 설명된 권한이 필요합니다. 일시 중지 및 다시 시작하려면 SQL DB 기여자 역할, 특히 Microsoft.Sql/servers/databases/action이 필요합니다.