이 문서에서는 분석 뷰와 분석 뷰를 만들 시점을 설명합니다. 또한 분석 뷰와 저장된 쿼리의 차이점도 설명합니다.
개요
분석 뷰는 쿼리할 수 있는 리소스입니다. 즉, 분석 뷰를 정의한 후 FROM 절에 분석 뷰를 지정하는 쿼리를 작성할 수 있습니다.
분석 뷰를 사용하면 API 또는 시스템에서 정의한 형식으로 데이터를 쿼리하지 않아도 된다는 것이 가장 큰 이점입니다. 분석 뷰를 사용하면 스키마를 정의할 수 있으므로 쿼리를 단순화하거나 쿼리 작성에 소요되는 시간을 줄일 수 있습니다. 애널리틱스 뷰의 쿼리는 특정 필드만 유지하고, 필드 이름을 바꾸고, 중첩된 필드를 최상위 열로 이동하고, 그룹화 및 집계를 실행하는 등의 작업을 할 수 있습니다.
분석 뷰는 구체화된 뷰가 아닙니다. 분석 뷰는 쿼리 결과를 주기적으로 캐시하는 미리 계산된 뷰가 아닙니다. 따라서 분석 뷰를 쿼리하는 것은 분석 뷰의 쿼리에 나열된 뷰를 쿼리하는 것과 같습니다.
분석 뷰는 로그 애널리틱스 페이지에서 실행한 후 저장하는 쿼리인 저장된 쿼리보다 강력합니다. 저장된 쿼리는 다시 실행할 수 있지만 저장된 쿼리 결과를 쿼리할 수는 없습니다.
분석 뷰 유형
분석 뷰에는 사용자 정의 뷰 및 시스템 정의 뷰 등 두 가지 유형이 있습니다.
사용자 정의 분석 뷰는 개발자가 만드는 모든 분석 뷰입니다. 사용자 정의 분석 뷰를 쿼리, 수정, 삭제할 수 있습니다.
시스템 정의 분석 뷰는Google Cloud 서비스에서 만든 분석 뷰입니다. 시스템 정의 분석 뷰를 쿼리할 수 있습니다. 하지만 수정하거나 삭제할 수는 없습니다.
Google Cloud 프로젝트에서 분석 뷰를 나열하는 방법은 분석 뷰 나열을 참고하세요.
분석 뷰 위치
분석 뷰 위치는 쿼리하는 리소스의 위치에 따라 결정됩니다. 예를 들어 분석 뷰가 global 위치에 있는 관측 가능성 뷰를 쿼리하는 경우 분석 뷰의 위치도 global여야 합니다. Google Cloud 콘솔을 사용하여 분석 뷰를 만들면 위치가 자동으로 설정됩니다.
사용 사례
분석 뷰의 주요 이점은 시스템에서 정의한 형식으로 데이터를 쿼리하는 데 제한이 없다는 점입니다. 분석 뷰를 사용하면 스키마를 정의할 수 있으므로 쿼리를 간소화하거나 쿼리 작성에 소요되는 시간을 줄일 수 있습니다.
추적 서비스 이름 추출
추적 데이터를 분석하는 쿼리를 작성하고 합성된 서비스 이름으로 표시하거나 그룹화한다고 가정해 보겠습니다. 애널리틱스 뷰에 대한 쿼리는 COALESCE 함수를 사용하여 스팬의 서비스 이름을 결정합니다. 이 함수는 표현식 목록을 순서대로 평가하고 NULL로 평가되지 않는 첫 번째 표현식의 값을 반환합니다.
SELECT
start_time,
-- Set the value of service name based on the first non-null value in the list.
COALESCE(
JSON_VALUE(resource.attributes, '$."service.name"'),
JSON_VALUE(attributes, '$."service.name"'),
JSON_VALUE(attributes, '$."g.co/gae/app/module"')) AS service_name,
name AS span_name,
duration_nano,
status.code AS status,
trace_id,
span_id
FROM
`PROJECT_ID.us._Trace.Spans._AllSpans`
LIMIT 10
쿼리를 사용하기 전에 PROJECT_ID를Google Cloud 프로젝트의 ID로 바꿉니다.
제한사항
분석 뷰에는 다음과 같은 제한사항이 적용됩니다.
- 분석 뷰에서는 관측 가능성 뷰만 쿼리할 수 있습니다.
- 분석 뷰의 상위 리소스는 Google Cloud 프로젝트여야 합니다.
- 로그 애널리틱스 페이지를 사용하고 로그 애널리틱스 (기본값) 쿼리 엔진을 사용하는 경우에만 분석 뷰를 쿼리할 수 있습니다.
- 분석 뷰가 쿼리하는 모든 뷰는 동일한 위치에 있어야 합니다.
- Google Cloud 콘솔을 사용하여 분석 보기를 만들거나 관리해야 합니다.
- Google Cloud 프로젝트당 최대 100개의 분석 뷰를 만들 수 있습니다.
- 리전당 최대 50개의 분석 보기를 만들 수 있습니다.
- Google Cloud 프로젝트당 최대 10개의 리전에 분석 뷰가 포함될 수 있습니다.