홈 / 조회수 집계 안내
조회수 집계 안내
이 페이지에서는 사이트에 공개된 조회수가 어떻게 집계되는지 설명합니다. 조회수는 Cloudflare Analytics Engine에서 가져옵니다.
웹사이트를 방문한 사람마다 조회수 1회로 집계합니다. 이 수치는 Workers Analytics Engine에서 읽어 옵니다.
조회수가 집계되는 과정
- 1 방문자가 사이트를 엽니다 웹사이트를 방문한 사람마다 조회수 1회로 집계합니다.
- 2 사이트가 Cloudflare에 알립니다 방문 기록을 저장하도록 Cloudflare에 전송합니다.
- 3 Cloudflare가 방문을 저장합니다 Workers Analytics Engine이 이를 데이터 포인트 하나로 저장합니다.
- 4 총조회수를 가져옵니다 사이트가 합계를 읽어 와 조회수로 표시합니다.
- 1
방문자가 사이트를 엽니다
웹사이트를 방문한 사람마다 조회수 1회로 집계합니다.
- 2
사이트가 Cloudflare에 알립니다
방문 기록을 저장하도록 Cloudflare에 전송합니다.
- 3
Cloudflare가 방문을 저장합니다
Workers Analytics Engine이 이를 데이터 포인트 하나로 저장합니다.
- 4
총조회수를 가져옵니다
사이트가 합계를 읽어 와 조회수로 표시합니다.
Workers Analytics Engine은 분류 항목을 미리 정해 두지 않고도 늘어나는 집계 데이터를 저장할 수 있는 Cloudflare의 서비스입니다. Cloudflare는 이를 서로 다른 값의 개수에 제한 없이 대규모로 데이터를 분석하는 서비스라고 설명합니다. Worker는 내장 API를 통해 데이터 포인트를 기록합니다. 이후 같은 계정에서 HTTP SQL API를 통해 SQL로 해당 데이터를 조회합니다. 여기서 사용하는 SQL 문법은 Cloudflare의 다른 서비스인 Analytics SQL API의 문법과는 별개입니다.
dataset은 데이터를 저장하는 단위입니다. Cloudflare는 dataset을 SQL의 테이블에 비유하며, 각 행과 열은 일관된 의미를 유지해야 한다고 설명합니다. dataset의 이름은 Worker 설정에서 지정하고 Worker에 연결합니다. Worker가 데이터를 기록하기 시작하면 테이블이 생성됩니다. 열을 따로 선언하는 단계는 없습니다.
데이터 포인트 하나는 이벤트 하나이자 행 하나입니다. Worker가 이벤트를 기록하면 Cloudflare가 timestamp를 추가합니다. 나머지 값은 모두 Worker가 제공하며, 매번 같은 순서로 전달해야 합니다. Cloudflare는 이렇게 순서가 정해진 각 자리를 필드라고 부릅니다.
필드는 정해진 순서에서 하나의 자리를 뜻합니다. 첫 번째 문자열은 항상 첫 번째 문자열 필드에, 두 번째 숫자는 항상 두 번째 숫자 필드에 들어갑니다. 데이터베이스는 값 옆에 이름을 저장하지 않습니다. 대신 그 값의 위치를 저장합니다. 순서를 바꾸면 필드의 의미도 바뀝니다. 쿼리에서는 이 위치가 열이 됩니다. 문자열 필드는 blob1부터 blob20까지, 숫자 필드는 double1부터 double20까지입니다. 샘플링 키는 index1입니다. 모든 행에는 timestamp, dataset, _sample_interval도 포함됩니다. 쿼리에서는 조회 목적에 맞게 필드에 다른 이름을 붙일 수 있습니다. 예를 들어 blob1 AS city처럼 쓸 수 있습니다. 그래도 저장된 필드는 여전히 blob1입니다.
필드란 무엇인가요?
- 순서대로 나열한 문자열 장소처럼 나중에 데이터를 묶어 볼 때 기준으로 쓸 라벨입니다.blob1, then blob2, up to blob20 Cloudflare에 저장되는 이 필드의 이름입니다.
- 순서대로 나열한 숫자 나중에 합계나 평균을 구할 측정값입니다.double1, then double2, up to double20 Cloudflare에 저장되는 이 필드의 이름입니다.
- 인덱스 하나 이벤트가 많이 발생해 샘플링이 필요할 때 Cloudflare가 기준으로 사용하는 키입니다.index1 Cloudflare에 저장되는 이 필드의 이름입니다.
- Cloudflare가 추가하는 시각 이벤트가 기록된 시점입니다.timestamp Cloudflare에 저장되는 이 필드의 이름입니다.
- Cloudflare가 추가하는 표본 크기 저장된 이 행이 원래 이벤트 몇 건을 대표하는지 나타냅니다._sample_interval Cloudflare에 저장되는 이 필드의 이름입니다.
-
순서대로 나열한 문자열
장소처럼 나중에 데이터를 묶어 볼 때 기준으로 쓸 라벨입니다.
저장 필드
blob1, then blob2, up to blob20 -
순서대로 나열한 숫자
나중에 합계나 평균을 구할 측정값입니다.
저장 필드
double1, then double2, up to double20 -
인덱스 하나
이벤트가 많이 발생해 샘플링이 필요할 때 Cloudflare가 기준으로 사용하는 키입니다.
저장 필드
index1 -
Cloudflare가 추가하는 시각
이벤트가 기록된 시점입니다.
저장 필드
timestamp -
Cloudflare가 추가하는 표본 크기
저장된 이 행이 원래 이벤트 몇 건을 대표하는지 나타냅니다.
저장 필드
_sample_interval
필드는 세 종류입니다. blob은 문자열입니다. Cloudflare는 이를 그룹화와 필터링에 쓰이는 차원이라고 부르며, 다른 시스템에서는 라벨이라고도 합니다. 데이터 포인트 하나에는 blob을 최대 20개까지 넣을 수 있고, 전체 크기는 16킬로바이트 이하여야 합니다. double은 숫자로, 합계나 평균을 구할 측정값입니다. 데이터 포인트 하나에는 double을 최대 20개까지 넣을 수 있습니다. 인덱스는 최대 96바이트인 문자열 하나입니다. 데이터를 기록할 때는 목록 형식으로 전달하지만, Cloudflare는 그 목록에 인덱스가 정확히 하나 있을 때만 데이터 포인트를 저장합니다. 두 번째 인덱스를 넣으면 해당 데이터 포인트는 기록되지 않습니다.
데이터가 매우 많아지면 Analytics Engine은 쿼리 속도를 유지하기 위해 데이터를 샘플링합니다. 샘플링은 기록할 때와 조회할 때 모두 이루어질 수 있으며, 인덱스를 기준으로 적용됩니다. 이벤트가 많은 인덱스는 샘플링될 수 있지만, 이벤트가 적은 인덱스는 샘플링 없이 유지될 수 있습니다. 저장된 각 행에는 그 행이 원래 이벤트 몇 건을 대표하는지 나타내는 _sample_interval이 포함됩니다. 건수는 _sample_interval을 모두 더해 구합니다. 측정값의 합계를 구할 때는 먼저 각 측정값에 _sample_interval을 곱합니다. 평균은 이렇게 구한 가중 합계를 _sample_interval의 합계로 나누어 계산합니다.
Worker는 한 번 호출될 때 데이터 포인트를 최대 250개까지 기록할 수 있습니다. 데이터는 3개월 동안 보관됩니다.