비즈니스 인텔리전스 워크로드에는 특정 SQL 웨어하우스 구성 고려 사항이 필요한 고유한 특성이 있습니다. 이 페이지에서는 BI 워크로드 요구 사항을 분석하고 최적의 성능, 비용 효율성 및 안정성을 제공하도록 SQL 웨어하우스를 구성하는 방법에 대한 지침을 제공합니다.
워크로드 분석 및 SLA 요구 사항
모든 BI 워크로드는 고유하며 구성하기 전에 신중한 분석이 필요합니다. 요구 사항을 평가할 때 다음 질문을 고려합니다.
- 마이그레이션 또는 새 구현: 이 워크로드가 다른 플랫폼에서 마이그레이션되고 있나요, 아니면 새로운 구현인가요? 마이그레이션된 워크로드에는 SLA 및 성능 기준이 설정되었을 수 있습니다.
- SLA(서비스 수준 계약): 대기 시간, 처리량 및 가용성 요구 사항은 무엇인가요? 기술 및 비즈니스 SLA를 모두 문서화합니다.
- 액세스 패턴: 사용자는 데이터와 어떻게 상호 작용합니까? 일반적인 쿼리 패턴을 이해하면 웨어하우스 구성의 크기를 조정하고 특정 워크로드에 대한 데이터 계층을 최적화하는 데 도움이 됩니다.
일반적인 BI 액세스 패턴
BI 워크로드는 일반적으로 서로 다른 SQL 웨어하우스 구성이 필요한 두 가지 고유한 액세스 패턴 범주에 속합니다.
DirectQuery/LiveQuery 패턴
DirectQuery 패턴은 실시간으로 데이터를 쿼리하여 대화형 분석을 위해 대기 시간이 짧은 응답을 요구합니다.
특징:
- 많은 수의 쿼리
- 쿼리는 일반적으로 작은 결과 집합(1,000개 미만의 레코드)을 반환합니다.
- 일반적으로 업무 시간 중에 실행됩니다.
- 대기 시간이 짧은 엄격한 SLA 요구 사항
- 예측할 수 없는 쿼리 패턴(대시보드, 보고서)
- 쿼리당 액세스되는 데이터는 일반적으로 5GB 미만입니다.
- 뾰족한 패턴을 수용하려면 확장성이 뛰어난 컴퓨팅이 필요합니다.
성능 기대치:
- 쿼리 응답 시간: 초(일반적으로 대화형 대시보드의 경우 5초 미만)
- 데이터 새로 고침: 최신 데이터 반영
워크로드 프로필:
- 업무 시간 동안 빈번한 급증
- 예측할 수 없는 부하 변형(사용자 기반)
- 글로벌 조직의 경우 24x7까지 확장할 수 있습니다.
가져오기/추출 패턴
가져오기 패턴은 다운스트림 시스템에 대한 데이터를 추출하여 대기 시간보다 처리량의 우선 순위를 지정합니다.
특징:
- 쿼리 수가 적음(예약된 새로 고침)
- 일반적으로 큰 결과 집합(1,000,000개 이상의 레코드)
- 일반적으로 비경제적인 시간대에 예약됩니다.
- 예측 가능한 쿼리 패턴(종종 드릴다운 구동)
- 쿼리당 액세스되는 데이터: 최대 수십GB
성능 기대치:
- 쿼리 응답 시간: 분에서 시간(일괄 처리 지향)
- 데이터 신선도: 하루 스냅샷 또는 전날
워크로드 프로필:
- 예약되고 예측 가능한 실행 기간
- 알려진 워크로드 특성 및 리소스 요구 사항
- 일괄 처리 지향
DirectQuery 워크로드의 쿼리 조합
별모양 스키마 데이터 모델에서 DirectQuery 패턴을 사용하는 경우 다음 쿼리 배포가 필요합니다.
- 차원 쿼리: 차원 테이블(고객, 제품, 시간)을 검사하는 많은 작은 쿼리
- 팩트 쿼리: 조인 및 집계를 사용하여 팩트 테이블을 검사하는 많은 대규모 쿼리
- 쿼리 추출: 일부 간단하지만 오랜 시간이 걸리는 대규모 데이터 추출용 쿼리
이 다양한 쿼리 조합에는 작고 빈번한 쿼리와 대규모 분석 쿼리를 동시에 효율적으로 처리할 수 있는 SQL 웨어하우스가 필요합니다.
워크로드 격리를 위한 다중 웨어하우스 전략
Databricks는 다음을 달성하기 위해 여러 SQL 웨어하우스를 프로비전하는 것이 좋습니다.
적절한 크기 조정 및 최적의 비용
- 특정 워크로드 패턴에 맞게 각 웨어하우스 크기 조정
- 다른 리소스 요구 사항으로 워크로드를 분리하여 오버 프로비저닝 방지
- 개발 및 테스트에 더 작은 웨어하우스 사용, 프로덕션용으로 더 큰 규모
- 웨어하우스 확장성을 사용하여 성능과 비용 간의 이상적인 균형 찾기
전반적인 성능 향상
- DirectQuery와 가져오기/추출 패턴 간의 리소스 경합 방지
- 일괄 새로 고침 작업에서 대화형 대시보드 격리
- 워크로드 요구에 따라 독립적인 크기 조정 사용
교차 충전 및 비용 할당
- 사업부, 프로젝트 또는 팀별 사용량 및 비용 추적
- 정확한 차지백 모델 활성화
- 비용 가시성 및 책임 향상
보다 효율적인 행정 및 관리
- 팀 또는 프로젝트별 소유권 및 관리 책임 할당
- 사용 패턴에 따라 다른 자동 중지 정책 적용
- 별도의 액세스 제어 및 모니터링 구성
권장되는 웨어하우스 구성
DirectQuery/LiveQuery 워크로드의 경우
- 자동 리소스 관리에 서버리스 SQL 웨어하우스 사용
- 비용 최적화를 위해 적극적인 자동 중지(15-30분) 구성
- 쿼리 복잡성 및 데이터 볼륨에 따라 클러스터 크기 설정(보통으로 시작, 필요한 경우 강화)
- 예상된 워크로드에 따라 최소 및 최대 클러스터 수 설정
- 최대 대기 쿼리 메트릭 모니터링 및 그에 따라 최대 클러스터 조정
워크로드 가져오기/추출
- 예측 가능한 예약된 작업에 Pro 또는 클래식 SQL 웨어하우스 사용
- 여러 작업이 순서대로 실행되는 경우 더 긴 자동 중지 시간(1-2시간) 구성
- 복잡한 집계에 더 큰 클러스터 크기(대형, X-Large) 사용
- 일괄 처리 창에 맞게 일정 조정을 고려합니다.
- 쿼리 기간을 모니터링하고 SLA 요구 사항에 따라 크기 조정
SQL 웨어하우스 크기 조정 및 크기 조정 동작에 대한 자세한 내용은 SQL 웨어하우스 크기 조정, 크기 조정 및 큐 동작을 참조하세요.
BI 서비스 모범 사례에 대한 빠른 참조는 BI 서비스 치트 시트를 참조하세요.