다음을 통해 공유


데이터 세트 최적화 및 캐싱

AI/BI 대시보드는 중요한 데이터 분석 및 의사 결정 도구이며 효율적인 로드 시간은 사용자 환경을 크게 향상시킬 수 있습니다. 이 문서에서는 캐싱 및 데이터 세트 최적화를 통해 대시보드의 성능과 효율성을 높이는 방법을 설명합니다.

쿼리 성능

작업 영역 쿼리 기록에서 쿼리 및 해당 성능을 검사할 수 있습니다. 쿼리 기록에는 SQL 웨어하우스를 사용하여 수행된 SQL 쿼리가 표시됩니다. 기록 아이콘 을 클릭하세요. 사이드바에서 쿼리 기록을 보려면 쿼리 기록을 선택하십시오. 쿼리 기록 보기를 참조하세요.

대시보드 데이터 세트의 경우 Azure Databricks는 데이터 세트의 결과 크기에 따라 성능 최적화를 적용합니다. 데이터 세트 성능 임계값에 대한 자세한 내용은 데이터 세트 성능 임계값을 참조하세요.

데이터 세트 최적화

대시보드는 가능한 경우 브라우저에서 직접 필터 또는 시각화 설정에 따라 필터링 및 집계 작업을 수행하여 속도를 최적화합니다. 이러한 성능 최적화에는 다음과 같은 제한이 있습니다.

데이터 세트 크기 처리 동작
작음(≤ 100K 행 및 ≤ 100MB) 최적의 대시보드 속도를 위해 초기 데이터 세트가 로드된 후 브라우저에서 필터링 및 집계가 실행됩니다. 이러한 작업은 로컬로 처리되므로 데이터 웨어하우스와의 추가 상호 작용을 방지하고 쿼리 기록에 표시되지 않습니다.
큰(> 100K 행 또는 > 100MB) 필터링 및 집계는 브라우저 대신 백 엔드 서버에서 처리됩니다. 초기 데이터 세트 쿼리는 SQL WITH 절에 래핑되고 결과 쿼리는 쿼리 기록에 표시됩니다.
결합된 쿼리(큰 데이터 세트) 백 엔드로 전송된 시각화 쿼리의 경우 동일한 절과 필터 조건자를 공유하는 동일한 GROUP BY 데이터 세트에 대한 별도의 시각화 쿼리가 처리를 위해 단일 쿼리로 결합됩니다. 이 경우 사용자는 여러 시각화 또는 필터에 대한 결과를 가져오는 쿼리 기록에 결합된 쿼리를 볼 수 있습니다.

비고

매개 변수는 런타임에 쿼리로 직접 값을 대체하므로 이러한 작업은 항상 쿼리 기록에 표시됩니다.

캐싱 및 데이터 새로 고침

대시보드는 초기 로드 시간을 최적화하기 위해 24시간 결과 캐시를 유지 관리하며 최상의 노력으로 작동합니다. 즉, 시스템은 항상 대시보드 자격 증명에 연결된 기록 쿼리 결과를 사용하여 성능을 향상시키려고 하지만 캐시된 결과를 만들거나 유지 관리할 수 없는 경우가 있습니다. 캐시된 데이터에는 특정 메모리 제한 또는 고정 쿼리 수가 없습니다.

로드 시간을 개선하기 위해 대시보드는 먼저 대시보드 캐시를 확인합니다. 사용할 수 있는 캐시 결과가 없는 경우 일반 쿼리 결과 캐시를 확인합니다. 대시보드 캐시는 최대 24시간 동안 부실 결과를 반환할 수 있지만 쿼리 결과 캐시는 부실 데이터를 반환하지 않습니다. 기본 데이터가 변경되면 모든 쿼리 결과 캐시 항목이 무효화됩니다.

다중 페이지 대시보드의 경우 다음이 적용됩니다.

  • 초안 대시보드를 편집할 경우 모든 데이터 세트가 로드되고 캐시됩니다.
  • 뷰어에서 게시된 대시보드를 열면 활성 페이지를 지원하는 데이터 세트만 실행되고 캐시됩니다.
  • 일정이 설정되면 모든 데이터 세트가 일정에 따라 새로 고쳐지고 해당 결과가 캐시됩니다.

다음 표에서는 대시보드 상태 및 자격 증명에 따라 캐싱이 어떻게 달라지는지 설명합니다.

대시보드 유형 캐싱 형식
공유 데이터 권한으로 게시된 대시보드 공유 캐시. 모든 뷰어는 동일한 결과를 볼 수 있습니다.
개별 데이터 권한으로 대시보드가 게시되었거나 대시보드 초안이 작성됨 각 사용자별 캐시. 뷰어는 데이터 사용 권한에 따라 결과를 볼 수 있습니다.

대시보드는 마지막 쿼리 이후 기본 데이터가 변경되지 않은 상태로 유지되거나 결과가 24시간 전에 검색된 경우 캐시된 쿼리 결과를 자동으로 사용합니다. 부실 결과가 존재하고 매개 변수가 대시보드에 적용되는 경우 지난 24시간 동안 동일한 매개 변수를 사용하지 않는 한 쿼리가 다시 실행됩니다. 마찬가지로 100,000개 행을 초과하는 데이터 세트에 필터를 적용하면 지난 24시간 동안 동일한 필터가 이전에 적용되지 않은 한 쿼리를 다시 실행하라는 메시지가 표시됩니다.

현재 타임스탬프 함수 및 캐시 무효화

SQL 쿼리에서 함수를 사용하거나 유사한 기능을 사용하면 current_timestamp() 대시보드 수준 캐시가 무효화되지 않습니다. 그러나 이러한 함수는 SQL 쿼리를 검사하고 캐시 새로 고침을 트리거하는 쿼리 결과 캐시를 무효화합니다.

예약된 쿼리

공유 데이터 권한으로 게시된 대시보드에 일정을 추가하면 모든 대시보드 뷰어의 초기 로드 프로세스가 크게 단축될 수 있습니다.

예약된 각 대시보드 업데이트에 대해 다음이 발생합니다.

  • 데이터 세트를 정의하는 모든 SQL 논리는 지정된 시간 간격에 따라 실행됩니다.
  • 결과는 쿼리 결과 캐시를 채우고 초기 대시보드 로드 시간을 개선하는 데 도움이 될 수 있습니다.