Azure Synapse Analytics에서 기록 쿼리 저장 및 분석
기록 쿼리 분석은 데이터 엔지니어의 중요한 요구 사항 중 하나입니다. Azure Synapse Analytics는 쿼리 기록 및 성능을 분석하는 네 가지 주요 방법을 지원합니다. 여기에는 쿼리 저장소, DMV, Azure Log Analytics 및 Azure Data Explorer가 포함됩니다.
이 문서에서는 요구 사항에 맞게 이러한 옵션을 사용하는 방법을 보여줍니다. 쿼리 기록 분석과 관련된 사용 사례 및 각각에 가장 적합한 방법을 검토합니다.
고객 요구 | 쿼리 저장소 | DMV | Azure Log Analytics | Azure Data Explorer |
---|---|---|---|---|
기본 제공 솔루션 | 활성화 필요 | ✔️ | 추가 서비스 필요 | 추가 서비스 필요 |
더 긴 분석 기간 | 30일 | 기록 행 최대 10,000개 | 사용자 지정 가능 | 사용자 지정 가능 |
중요한 메트릭 가용성 | 제한 | ✔️ | 제한 | 사용자 지정 가능 |
분석에 SQL 사용 | ✔️ | ✔️ | KQL 필요 | SQL 지원이 제한적 |
쿼리 저장소
쿼리 저장소 기능은 쿼리 계획 선택 및 성능에 대한 인사이트를 제공합니다. 쿼리 계획 변경으로 인해 발생하는 성능 차이를 신속하게 찾을 수 있도록 하여 성능 문제 해결을 간소화합니다.
쿼리 저장소는 새 Azure Synapse Analytics 데이터베이스에서 기본적으로 사용되지 않습니다. 쿼리 저장소를 사용하도록 설정하려면 다음 T-SQL 명령을 실행합니다.
ALTER DATABASE <database_name>
SET QUERY_STORE = ON;
예시:
ALTER DATABASE [SQLPOOL1]
SET QUERY_STORE = ON;
마지막으로 실행된 쿼리, 실행 횟수, 가장 오래 실행된 쿼리, 물리적 I/O 리드가 최대인 쿼리를 찾아 성능 감사 및 문제 해결 관련 작업을 실행할 수 있습니다. 샘플 쿼리는 쿼리 저장소 사용하여 성능 모니터링을 참조하세요.
장점:
- 쿼리 데이터의 스토리지는 최대 30일입니다. 기본값은 7일입니다.
- 쿼리를 실행하는 것과 동일한 도구에서 데이터를 사용할 수 있습니다.
알려진 제한 사항:
- 기록 쿼리 데이터의 기본 스토리지는 더 적습니다.
- DMV를 사용할 때와 비교하여 분석 시나리오가 Azure Synapse 쿼리 저장소로 제한됩니다.
DMV
DMV(동적 관리 뷰)는 쿼리 대기 시간, 실행 계획, 메모리 등에 대한 정보를 수집하는 데 매우 유용합니다. 나중에 추적하려면 관심 있는 쿼리에 레이블을 지정하는 것이 좋습니다. 예시:
-- Query with Label
SELECT *
FROM sys.tables
OPTION (LABEL = 'My Query');
Azure Synapse SQL에서 쿼리에 레이블을 지정하는 자세한 내용은 Synapse SQL 쿼리 레이블 사용을 참조하세요.
DMV를 사용하여 Azure Synapse Analytics 워크로드를 모니터링하는 자세한 내용은 DMV를 사용하여 전용 SQL 풀 워크로드 모니터링을 참조하세요. Azure Synapse Analytics 관련 카탈로그 뷰에 대한 설명서는 Azure Synapse Analytics 카탈로그 뷰를 참조하세요.
장점:
- 데이터를 동일한 쿼리 도구에서 사용할 수 있습니다.
- DMV는 광범위한 분석 옵션을 제공합니다.
알려진 제한 사항:
- DMV는 기록 항목 행이 10,000개로 제한됩니다.
- 풀이 일시 중지/다시 시작되면 뷰가 다시 설정됩니다.
Log Analytics
Log Analytics 작업 영역은 Azure Portal에서 쉽게 만들 수 있습니다. Synapse를 Log Analytics와 연결하는 방법에 대한 자세한 내용은 워크로드 모니터링 - Azure Portal을 참조하세요.
Azure Data Explorer와 마찬가지로 Log Analytics는 KQL(Kusto 쿼리 언어)을 사용합니다. Kusto 구문에 대한 자세한 내용은 Kusto 쿼리 개요를 참조하세요.
구성 가능한 보존 기간과 함께 특별히 Log Analytics에서 쿼리할 대상으로 지정할 작업 영역을 선택합니다. Log Analytics는 데이터를 저장하고 쿼리를 실행 및 저장할 수 있는 유연성을 제공합니다.
장점:
- Azure Log Analytics는 사용자 지정 가능한 로그 보존 정책이 있습니다.
알려진 제한 사항:
- KQL을 사용하려면 학습 곡선이 추가됩니다.
- 제한된 뷰를 즉시 로그할 수 있습니다.
ADX(Azure Data Explorer)
ADX(Azure Data Explorer)는 최고의 데이터 탐색 서비스입니다. 이 서비스는 Azure Synapse Analytics 기록 쿼리를 분석하는 데 사용할 수 있습니다. ADF(Azure Data Factory) 파이프라인을 설정하여 로그를 복사하고 ADX에 저장하려면 Azure Data Explorer에서 데이터 복사를 참조하세요. ADX에서 로그를 분석하기 위해 Kusto 쿼리를 실행할 수 있습니다. 여기에서 다른 전략을 결합하여 ADF를 통해 DMV 출력을 쿼리하고 ADX에 로드할 수 있습니다.
장점:
- ADX는 사용자 지정 가능한 로그 보존 정책을 제공합니다.
- 대규모 데이터에 대한 쿼리 실행, 특히 문자열 검색과 관련된 쿼리의 성능이 우수합니다.
알려진 제한 사항:
- KQL을 사용하려면 학습 곡선이 추가됩니다.