다음을 통해 공유


SQL 웨어하우스 크기 조정, 크기 조정 및 큐 동작

이 문서에서는 SQL 웨어하우스의 클러스터 크기 조정, 큐 및 자동 크기 조정 동작에 대해 설명합니다.

서버리스 SQL 웨어하우스 크기 조정

서버리스 SQL 웨어하우스의 티셔츠 크기는 항상 테스트할 때 필요한 것보다 큰 값으로 시작하고 테스트하면서 크기를 줄입니다. 서버리스 SQL 웨어하우스에 대해 작은 티셔츠 크기로 시작하여 늘리지 마세요. 일반적으로 단일 서버리스 SQL 웨어하우스로 시작하고 Azure Databricks를 사용하여 서버리스 클러스터에 맞게 적정 크기로 조정하면서 워크로드의 우선순위를 지정하며 빠른 데이터 읽기를 지원합니다. 서버리스 자동 스케일링 및 쿼리 큐 대기를 참조하세요.

  • 지정된 서버리스 SQL 웨어하우스에 대한 쿼리 대기 시간을 줄이려면 다음을 수행합니다.
    • 쿼리가 디스크로 유출되는 경우 티셔츠 크기를 늘립니다.
    • 쿼리를 병렬 처리할 수 있는 경우 티셔츠 크기를 늘립니다.
    • 한 번에 여러 쿼리를 실행하는 경우 자동 스케일링을 위해 클러스터를 더 추가합니다.
  • 비용을 줄이려면 디스크에 유출하거나 대기 시간을 크게 늘리지 않고 티셔츠 크기를 줄입니다.
  • 서버리스 SQL 웨어하우스를 적정 크기로 조정하는 데 도움이 되도록 다음 도구를 사용합니다.
    • 모니터링 페이지: 최대 쿼리 수를 확인합니다. 큐에 대기 중인 피크가 일반적으로 1보다 높은 경우 클러스터를 추가합니다. 모든 SQL 웨어하우스 유형에 대한 큐의 최대 쿼리 수는 1000개입니다. SQL 웨어하우스 모니터링을 참조하세요.
    • 쿼리 기록. 쿼리 기록을 참조하세요.
    • 쿼리 프로필(1보다 큰 디스크에 유출된 바이트 조회). 쿼리 프로필을 참조하세요.

참고 항목

서버리스 SQL 웨어하우스의 경우 클러스터 크기는 경우에 따라 동일한 클러스터 크기에 대한 pro 및 클래식 SQL 웨어하우스 설명서에 나열된 것과 다른 인스턴스 형식을 사용할 수 있습니다. 일반적으로 서버리스 SQL 웨어하우스에 대한 클러스터 크기의 가격/성능 비율은 pro 및 클래식 SQL 웨어하우스의 가격/성능 비율과 유사합니다.

서버리스 자동 스케일링 및 쿼리 큐 대기

IWM(지능형 워크로드 관리)은 많은 수의 쿼리를 빠르고 비용 효율적으로 처리하는 서버리스 SQL 웨어하우스의 기능을 개선한 기능 집합입니다. 기계 학습 모델을 사용하여 수신 쿼리의 리소스 수요를 예측하는 동시에 웨어하우스의 사용 가능한 컴퓨팅 용량을 실시간으로 모니터링하여 워크로드를 동적으로 관리합니다. 웨어하우스에서 이러한 신호 및 기타 신호를 추적하면 IWM이 워크로드 수요 변화에 대응할 수 있습니다.

이러한 동적 관리를 통해 IWM에서 다음을 수행할 수 있습니다.

  • 짧은 대기 시간을 유지하기 위해 컴퓨팅을 신속하게 확장합니다.
  • 하드웨어의 제한에 가까운 속도로 쿼리 수신을 제공합니다.
  • 수요가 낮을 때 비용을 최소화하기 위해 신속하게 축소합니다.

쿼리가 웨어하우스에 도착하면 IWM은 비용을 예측합니다. 동시에 IWM은 웨어하우스의 사용 가능한 컴퓨팅 용량을 실시간으로 모니터링합니다. 다음으로, IWM은 기계 학습 모델을 사용하여 수신 쿼리에 기존 컴퓨팅에서 사용할 수 있는 필요한 컴퓨팅이 있는지 예측합니다. 필요한 컴퓨팅이 없으면 쿼리가 큐에 추가됩니다. 필요한 컴퓨팅이 있으면 쿼리가 즉시 실행되기 시작합니다.

IWM은 약 10초마다 큐를 모니터링합니다. 큐가 충분히 빠르게 감소하지 않으면 자동 스케일링이 시작되어 더 많은 컴퓨팅을 신속하게 조달합니다. 새 용량이 추가되면 큐에 대기 중인 쿼리가 새 컴퓨팅 리소스로 수신됩니다. 서버리스 SQL 웨어하우스를 사용하면 새 컴퓨팅을 빠르게 추가할 수 있습니다. 모든 SQL 웨어하우스 유형에 대한 큐의 최대 쿼리 수는 1000개입니다.

프로 및 클래식 SQL 웨어하우스의 클러스터 크기

이 섹션의 표는 SQL 웨어하우스 클러스터 크기를 Azure Databricks 클러스터 드라이버 크기 및 작업자 수에 매핑합니다. 드라이버 크기는 pro 및 클래식 SQL 웨어하우스에만 적용됩니다.

클러스터 크기: 드라이버의 인스턴스 유형(pro 및 클래식 SQL 웨어하우스에만 적용됨) 작업자 수
2X-Small Standard_E8ds_v4 1 x Standard_E8ds_v4
초소형 Standard_E8ds_v4 2 x Standard_E8ds_v4
적은 Standard_E16ds_v4 4 x Standard_E8ds_v4
중간 Standard_E32ds_v4 8 x Standard_E8ds_v4
대형 Standard_E32ds_v4 16 x Standard_E8ds_v4
X-Large Standard_E64ds_v4 32 x Standard_E8ds_v4
2X-Large Standard_E64ds_v4 64 x Standard_E8ds_v4
3X-Large Standard_E64ds_v4 128 x Standard_E8ds_v4
4X-Large Standard_E64ds_v4 256 x Standard_E8ds_v4

모든 작업자의 인스턴스 크기는 Standard_E8ds_v4입니다.

각 드라이버와 작업자에는 8개의 128GB 표준 LRS 관리 디스크가 연결되어 있습니다. 연결된 디스크는 시간 단위로 청구됩니다.

클래식 및 프로 SQL 웨어하우스에 필요한 Azure vCPU 할당량

클래식 또는 프로 SQL 웨어하우스를 시작하려면 Azure 계정의 Standard_E8ds_v4 인스턴스에 적절한 Azure vCPU 할당량이 있어야 합니다. 다음 지침을 사용하여 필요한 vCPU 할당량을 확인합니다.

  • SQL 웨어하우스가 하나 또는 두 개만 있는 경우 클러스터의 각 코어에 대해 8개의 Azure vCPU를 사용할 수 있는지 확인합니다. 이렇게 하면 약 24시간마다 발생하는 웨어하우스의 재프로비저닝을 위한 충분한 Azure vCPU가 확보됩니다. SQL 웨어하우스에서 자동 크기 조정 또는 다중 클러스터 부하 분산을 사용하는 경우 승수를 늘려야 할 수 있습니다.
  • SQL 웨어하우스 수가 증가함에 따라 클러스터의 각 코어에 대해 4~8개의 Azure vCPU를 허용합니다. Databricks는 더 많은 수로 시작하고 안정성을 모니터링하는 것을 권장합니다.
  • 데이터 과학 및 엔지니어링 또는 비Databricks 워크로드에서 사용하는 클러스터에서 사용하는 Azure vCPU 외에도 SQL 웨어하우스에서 사용하는 Azure vCPU가 있습니다.

추가 Azure vCPU 할당량을 요청하려면 Azure 설명서에서 표준 할당량: VM 시리즈별 제한 늘리기를 참조하세요.

참고 항목

이 표의 정보는 제품 또는 지역 가용성 및 작업 영역 유형에 따라 달라질 수 있습니다.

프로 및 클래식 SQL 웨어하우스에 대한 큐 대기 및 자동 스케일링

Azure Databricks는 SQL 웨어하우스에 할당된 클러스터의 쿼리 수를 결과를 계산하는 데 드는 비용에 따라 제한합니다. 웨어하우스당 클러스터의 업스케일링은 쿼리 처리량, 들어오는 쿼리 속도 및 큐 크기를 기반으로 합니다. Azure Databricks는 10개의 동시 쿼리마다 하나의 클러스터를 권장합니다. 모든 SQL 웨어하우스 유형에 대한 큐의 최대 쿼리 수는 1000개입니다.

Azure Databricks는 현재 실행 중인 모든 쿼리, 대기 중인 모든 쿼리, 다음 2분 안에 들어올 것으로 예상되는 쿼리를 처리하는 데 걸리는 시간에 따라 클러스터를 추가합니다.

  • 2분 미만이면 업스케일링하지 않습니다.
  • 2~6분이면 클러스터를 1개 추가합니다.
  • 6~12분이면 클러스터를 2개 추가합니다.
  • 12~22분이면 클러스터를 3개 추가합니다.

그렇지 않으면 Azure Databricks는 클러스터 3개를 추가하고 예상되는 쿼리 로드 15분마다 클러스터 1개 추가합니다.

또한 쿼리가 큐에서 5분 동안 대기하는 경우 웨어하우스는 항상 확장됩니다.

15분 동안 부하가 낮으면 Azure Databricks는 SQL 웨어하우스를 다운스케일링합니다. 지난 15분 동안의 최대 부하를 처리할 수 있는 충분한 클러스터를 유지합니다. 예를 들어 최대 부하가 25개의 동시 쿼리인 경우 Azure Databricks는 3개의 클러스터를 유지합니다.

프로 및 클래식 SQL 웨어하우스에 대한 쿼리 큐 대기

Azure Databricks는 웨어하우스에 할당된 모든 클러스터가 전체 용량으로 쿼리를 실행 중이거나 웨어하우스가 STARTING 상태에 있을 때 쿼리를 큐에 대기시킵니다. 모든 SQL 웨어하우스 유형에 대한 큐의 최대 쿼리 수는 1000개입니다.

메타데이터 쿼리(예: DESCRIBE <table>)와 상태 수정 쿼리(예: SET)는 웨어하우스가 STARTING 상태에 있지 않으면 큐에 대기되지 않습니다.