주 콘텐츠로 건너뛰기
미리 보기

개발 중: Azure Analysis Services의 쿼리 인터리빙

게시된 날짜: 7월 11, 2019

Azure Analysis Services는 복잡한 데이터를 실행 가능한 인사이트로 변환하는 데 도움을 주어 클라우드의 규모, 유연성 및 관리 이점으로 엔터프라이즈급 BI 의미 체계 모델링 기능을 제공합니다. 엔터프라이즈 BI 시스템은 높은 사용자 동시성을 지원해야 합니다. 즉, 서로 가깝게 제출되는 쿼리가 많을 수 있습니다. 높은 동시성 시나리오에서 사용자 환경을 개선하는 시스템 구성을 구현할 수 있는 쿼리 인터리빙 기능을 개발 중임을 발표하게 되어 기쁘게 생각합니다.

기본적으로 Analysis Services 테이블 형식 엔진은 CPU와 관련하여 “FIFO”(선입선출) 방식으로 작동합니다. 즉, 예를 들어 비싼/느린 스토리지 엔진 쿼리가 수신되고 바로 뒤이어 다른 2개의 빠른 쿼리가 수신되면 다른 빠른 쿼리가 비싼 쿼리가 완료될 때까지 기다리면서 차단될 가능성이 있습니다. 이 내용은 다음 다이어그램에 각각의 쿼리가 Q1, Q2, Q3으로 표시되어 있고 각 기간과 CPU 시간도 표시되어 있습니다.

FIFO

쿼리 인터리빙을 사용하면 동시 쿼리가 CPU 리소스를 공유할 수 있으므로 빠른 쿼리가 느린 쿼리 뒤에서 차단되지 않습니다. 세 쿼리를 모두 완료하는 데 걸리는 시간은 그런데도 거의 같지만, Q2 및 Q3이 끝까지 차단되지 않습니다.

쿼리 인터리빙

쿼리 인터리빙은 격리 상태로 실행되는 쿼리에 대한 성능 영향이 거의 없거나 전혀 없도록 하기 위한 것입니다. 그런데도 단일 쿼리는 FIFO 모델을 사용할 경우 소비되는 CPU 양과 동일한 CPU 양을 소비할 수 있습니다.

쿼리 인터리빙을 통해 짧은 쿼리 바이어스를 구성할 수 있습니다. 즉, 빠른 쿼리(각 쿼리가 이미 소비한 CPU 양으로 정의됨)가 장기 쿼리보다 높은 비율의 리소스를 할당받아 상당히 짧은 시간 내에 완료될 수 있습니다. 다음 그림에서 Q2 및 Q3 쿼리는 “빠른 쿼리”로 간주되므로 Q1보다 많은 CPU가 할당되었습니다.

짧은 쿼리 바이어스

짧은 쿼리 바이어스가 있는 쿼리 인터리빙이 Azure Analysis Services의 엔터프라이즈 BI 시스템에 큰 가치를 더하기를 바랍니다!

  • Azure Analysis Services
  • Features
  • Management