다음을 통해 공유


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

이 문서에서는 Databricks SQL 웨어하우스에 대한 쿼리 큐의 크기를 조정하고 관리하여 성능과 비용을 최적화하는 방법을 설명합니다. Databricks는 대부분의 워크로드에 서버리스 SQL 웨어하우스를 사용하는 것이 좋습니다. 서버리스 SQL 웨어하우스는 쿼리에 대한 리소스를 동적으로 관리하여 최상의 성능과 효율성을 제공합니다.

서버리스 SQL 웨어하우스 관리

서버리스 SQL 웨어하우스는 IWM( Intelligent Workload Management )을 사용하여 쿼리 워크로드를 자동으로 관리합니다. IWM은 인프라를 관리할 필요 없이 쿼리를 빠르고 비용 효율적으로 처리하는 AI 기반 기능 집합입니다.

지능형 워크로드 관리 및 자동 크기 조정

IWM은 기계 학습 모델을 사용하여 컴퓨팅 리소스를 동적으로 관리합니다.

  • 새 쿼리가 도착하면 IWM은 리소스 요구 사항을 예측하고 사용 가능한 용량을 확인합니다.
    • 용량이 있으면 쿼리가 즉시 시작됩니다.
    • 그렇지 않은 경우 쿼리는 큐에 배치됩니다.
  • IWM은 큐를 지속적으로 모니터링합니다. 대기 시간이 늘어나면 자동 크기 조정기는 대기 중인 쿼리를 처리하기 위해 더 많은 클러스터를 신속하게 프로비전합니다.
  • 수요가 감소하면 IWM은 리소스를 축소하여 최근 최대 부하를 처리할 수 있는 충분한 용량을 유지하면서 비용을 절감합니다.

이 방법은 다음을 제공합니다.

  • 빠른 업 스케일링으로 낮은 쿼리 대기 시간을 유지합니다.
  • 하드웨어를 사용할 수 있는 즉시 쿼리를 인정하여 높은 처리량
  • 빠른 다운 스케일링을 통해 낮은 수요 동안 비용을 절감할 수 있습니다.

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

클러스터 크기(예: X-Small, Medium, Large)는 단일 클러스터에 사용할 수 있는 컴퓨팅 리소스를 결정합니다. 자동 크기 조정기는 필요에 따라 해당 크기의 클러스터를 추가하거나 제거합니다.

다음 지침을 사용하여 적절한 크기를 선택할 수 있습니다.

  • 더 큰 단일 웨어하우스로 시작하고 서버리스 기능이 동시성 및 성능을 관리할 수 있도록 합니다. 일반적으로 크기가 작게 시작하고 스케일 업하는 것보다 필요한 경우 크기를 조정하는 것이 더 효율적입니다.
  • 쿼리가 디스크로 분산되는 경우 클러스터 크기를 늘입니다. 쿼리 프로필에서 분산을 확인합니다.
  • 많은 동시 쿼리가 있는 워크로드의 경우 최대 부하를 처리할 수 있는 충분한 최대 클러스터 수를 구성합니다. 웨어하우스 모니터링 페이지에서 최대 대기 쿼리 메트릭을 모니터링합니다.

참고 항목

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

웨어하우스 성능 모니터링

이러한 도구를 사용하여 SQL 웨어하우스를 모니터링하고 크기를 조정합니다. 모든 웨어하우스 유형에 대한 큐의 최대 쿼리 수는 1,000개입니다.

  • 모니터링 페이지: SQL 웨어하우스 모니터링 탭에서 최대 대기 쿼리를 확인합니다. 0을 초과하는 일관된 값은 더 큰 클러스터 크기 또는 더 많은 클러스터가 필요할 수 있음을 나타냅니다.
  • 쿼리 기록: 기록 쿼리 성능을 검토하여 병목 상태를 식별합니다.
  • 쿼리 프로필:디스크에 분산된 바이트와 같은 메트릭에 대한 실행 계획을 검사합니다. 이는 웨어하우스 크기가 너무 작을 수 있음을 나타냅니다.

클래식 및 프로 SQL 웨어하우스

클래식 및 Pro 웨어하우스는 클러스터 수를 구성하는 수동 크기 조정 모델을 사용합니다.

크기 조정 및 클러스터 프로비저닝

클래식 또는 Pro 웨어하우스를 만들 때 클러스터 크기를 선택하고 최소 및 최대 클러스터 수를 설정합니다. 이러한 SKU에는 10개의 동시 쿼리당 하나의 클러스터에 대한 고정 제한이 있습니다.

클러스터 크기: 드라이버 인스턴스 유형 작업자 수
2X-스몰 Standard_E8ds_v4 1 x Standard_E8ds_v4
초소형 Standard_E8ds_v4 2 x Standard_E8ds_v4
적은 Standard_E16ds_v4 Standard_E8ds_v4 4개
중간 Standard_E32ds_v4 (표준 E32ds v4) 8 x Standard_E8ds_v4
대형 Standard_E32ds_v4 (표준 E32ds v4) 16 x Standard_E8ds_v4
X-Large Standard_E64ds_v4 32 x Standard_E8ds_v4
2배 대용량 Standard_E64ds_v4 64 x Standard_E8ds_v4
3배 대용량 Standard_E64ds_v4 128 x Standard_E8ds_v4
4배 대용량 Standard_E64ds_v4 256 x Standard_E8ds_v4

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

각 드라이버와 작업자에는 하나의 256GB Premium SSD 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는 더 많은 수로 시작하고 안정성을 모니터링하는 것을 권장합니다.
  • SQL 웨어하우스에서 사용되는 Azure vCPU는 Data Science & Engineering이나 비 Databricks 워크로드가 사용하는 클러스터의 Azure vCPU에 추가로 사용됩니다.

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

참고 항목

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

큐 및 자동 크기 조정 논리

클래식 및 Pro 웨어하우스의 경우 자동 크기 조정은 실행 중인 모든 쿼리와 큐에 대기 중인 쿼리를 처리하는 예상 시간에 따라 클러스터를 추가합니다.

  • 쿼리 로드 2-6분: 클러스터 1개 추가
  • 6-12분: 2개의 클러스터를 추가합니다.
  • 12-22분: 3개의 클러스터를 추가합니다.
  • 22분 이상: 추가 15분 로드마다 클러스터 3개와 클러스터 1개 추가

추가 규칙:

  • 쿼리가 큐에서 5분 동안 대기하면 웨어하우스가 확장됩니다.
  • 15분 연속으로 부하가 낮게 유지되면 웨어하우스는 해당 기간의 최대 부하를 처리하는 데 필요한 최소값으로 축소됩니다.