집계함수

Aggregate function

데이터베이스 관리에서 집계함수집계함수는 여러 행의 값을 함께 묶어 하나의 요약값을 형성하는 함수를 말한다.

공통 집계 함수에는 다음이 포함된다.

그 밖의 사항에는 다음이 포함된다.

  • Nanmean (NaN 값을 무시하는, "nil" 또는 "null"이라고도 함)
  • 스데브

형식적으로 집계 함수는 입력 집합, 멀티셋(가방) 또는 일부 입력 도메인 I목록으로 가져와 출력 도메인 O의 요소를 출력한다.[1] 입력 및 출력 도메인은 다음과 같이 동일할 수 있다. SUM, 또는 다른 것일 수 있다(예: COUNT.

집계 함수는 일반적으로 수많은 프로그래밍 언어, 스프레드시트관계 대수에서 발생한다.

listagg SQL:2016 표준에[2] 정의된 대로 함수는 여러 행의 데이터를 하나의 연결된 문자열로 집계한다.

분해 가능한 Aggregate 함수

Aggregate 기능은 모든 입력 값을 한 번에 가져야 할 가능성이 있기 때문에 병목 현상을 나타낸다. 분산 컴퓨팅에서는 그러한 연산을 더 작은 조각으로 나누고, 대개 분할과 정복 알고리즘을 통해 병렬로 연산하는 작업을 분배하는 것이 바람직하다.

일부 집계 함수는 하위 집합에 대한 집계를 계산한 다음 이 집계를 집계하여 계산할 수 있다. 예: COUNT, MAX, MIN그리고 SUM. 다른 경우 서브셋의 보조 숫자를 계산하고, 이 보조 번호를 집계하고, 마지막에 전체 숫자를 계산하여 집계를 계산할 수 있다. 예는 다음과 같다. AVERAGE (합계와 카운트, 마지막에 나누기) 및 RANGE (최대값과 최소값, 끝에서 차감). 어떤 경우에는 근사치가 분포될 수 있지만, 다른 경우에는 집합 전체를 한 번에 분석하지 않고는 집계를 계산할 수 없다. 예는 다음과 같다. DISTINCT COUNT, MEDIAN그리고 MODE.

그러한 기능을 분해 가능한 집계함수[3] 또는 분해 가능한 집계함수라고 한다. 가장 간단한 것은 자가복제형 집합함수라고 할 수 있는데, 이러한 함수는 다음과 같은 병합 연산자 이(가) 있을 경우 f로 정의된다.

여기서 은(는) 다중 집합의 결합이다(단일 동형성 참조).

예를 들면 SUM:

( )= 단일 톤의 경우;
( Y)= ( X)+ () X)+\ {합치는 단순한 추가다.

COUNT:

( )=
( )= ( X)+ ) .

MAX:

( )=
( ⊎ Y)= ( ( X), ( )

MIN:

( )= [2]
( ⊎ Y)= ( ( X), ( ) Y

예를 들어 자가처분 가능한 집계 함수는 별도로 적용하여 결합(공식적으로, 제품을 가져감)할 수 있으므로, 두 가지 모두를 계산할 수 있다. SUM 그리고 COUNT 동시에 두 개의 번호를 추적함으로써

보다 일반적으로, 분해 가능한 집계함수 f를 최종함수 g와 자체처분 가능한 집계함수 의 구성으로 표현할 수 있는 것으로 정의할 수 있다 예를 들어, = h, ( )= () = g ( ) )=g( AVERAGE=SUM/COUNT 그리고 RANGE=MAXMIN.

MapReduce 프레임워크에서는 이러한 단계를 InitialReduce(개별 레코드/싱글톤 집합의 값), Complex(두 집계에 대한 바이너리 병합), FinalReduce(보조 값에 대한 최종 함수),[4] Shuffle 단계가 InitialReduce 단계로 알려지기 전에 분해 가능한 집합 이동으로 알려져 있다.[5]

분해 가능한 집계 함수는 기본 데이터가 아닌 OLAP 큐브에서 사전 계산된 결과에 대해 집계 쿼리를 계산할 수 있기 때문에 온라인 분석 처리(OLAP)에서 중요하다.[6] 예를 들어, 지원하기가 쉽다. COUNT, MAX, MIN그리고 SUM OLAP에서는 OLAP 큐브의 각 셀에 대해 계산한 다음 요약("롤업")할 수 있지만, 지원하기는 어렵다. MEDIAN모든 보기에 대해 별도로 계산해야 하기 때문에.

기타 분해 가능한 Aggregate 함수

집계 데이터의 평균과 표준 편차를 계산하기 위해서는 각 그룹의 총값( availablex = SUM(x)), 총값 수(N=COUNT(x) 및 총 제곱수(σx=i2SUM(x2)) 등 각 그룹에 대해 사용할 수 있어야 한다.[7]

AVG:

또는

.

또는, Count(X)=Count(Y)인 경우에만

.


SUM(x2): 그룹의 표준편차를 계산하기 위해서는 값의 제곱합이 중요하다.


STDDEV:
모든 점에서 동일한 확률을 가진 유한한 모집단의 경우[8][circular reference],

이는 표준 편차가 값의 제곱 평균과 평균 값의 제곱 사이의 차이의 제곱근과 같다는 것을 의미한다.

.
.

참고 항목

참조

인용구

  1. ^ Jesus, Baquero & Almeida 2011, 2 문제 정의, 페이지 3.
  2. ^ a b Winand, Markus (2017-05-15). "Big News in Databases: New SQL Standard, Cloud Wars, and ACIDRain (Spring 2017)". DZone. Retrieved 2017-06-10. In December 2016, ISO released a new version of the SQL standard. It introduces new features such as row pattern matching, listagg, date and time formatting, and JSON support.
  3. ^ Jesus, Baquero & Almeida 2011, 2.1 분해능, 페이지 3-4.
  4. ^ Yu, Gunda & Isard 2009, 2. 분산 집계, 페이지 2-4.
  5. ^ Yu, Gunda & Isard 2009, 2. 분산 집계, 페이지 1.
  6. ^ 장 2017, 페이지 1.
  7. ^ 잉그. 오스카 보닐라, MBA
  8. ^ 표준편차#아이덴티티와 수학적 특성

참고 문헌 목록

추가 읽기

외부 링크