작성자: Databricks SQL Engine 팀 | 2026년 4월 29일 원문: https://www.databricks.com/blog/approximate-answers-exact-decisions-new-sketch-functions-analyticsDocumentation Index
Fetch the complete documentation index at: https://docs.sifi.life/llms.txt
Use this file to discover all available pages before exploring further.
참고 요약
- Apache DataSketches 기반의 4가지 새 함수 패밀리: KLL Quantile, Theta, Approximate Top-K, Tuple Sketches가 Databricks SQL에 도입되어 대규모 데이터셋에서 빠른 근사 계산을 가능하게 합니다.
- 밀리초 단위 분위수와 마이크로초 단위 집합 연산: 글로벌 정렬과 클러스터 셔플 없이 P50/P90/P99, distinct 카운트, 실시간 트렌딩을 계산합니다.
- Sketch 머지로 점진적 갱신: 미리 계산된 sketch를 저장·병합할 수 있어 배치 잡을 라이브 리더보드와 점진적 대시보드로 변환할 수 있습니다.
분석 쿼리의 상당 부분은 정확한 답이 아닌 신뢰할 수 있는 근사 답으로 충분합니다. 대시보드, 트렌드 분석, 마케팅 어트리뷰션 같은 의사결정 지원(decision-support) 쿼리는 1~2% 오차가 결과에 영향을 주지 않습니다. 그런데도 정확 계산을 강제하면 클러스터 자원을 수십 배 소모합니다. Databricks는 이 영역을 정조준하여 Apache DataSketches 기반의 sketch 함수 4종을 SQL에 도입했습니다.
1. KLL Quantile Sketches — 분위수를 밀리초에
대규모 데이터셋에서 P50, P90, P99 같은 백분위를 계산하려면 전통적으로 글로벌 정렬이 필요합니다. 수십억 건에 대한 정렬은 클러스터를 점령하고 분 단위 시간을 소비합니다. KLL sketch는 다른 접근을 취합니다:- 밀리초 단위로 분위수 계산 (분 단위 글로벌 정렬 없이)
- bounded memory — 데이터가 100배 늘어도 메모리 사용은 거의 일정
- 점진적 갱신 — sketch를 저장하고 새 데이터의 sketch와 머지해 원본 데이터를 다시 스캔하지 않음
- 상대 오차 1~2% 수준
예시 사용
2. Theta Sketches — Distinct 값에 대한 집합 연산
distinct 사용자, distinct 이벤트 같은 카디널리티 계산에 더해, sketch끼리의 집합 연산(union, intersection, difference)을 지원합니다. 마케팅 캠페인의 오디언스 오버랩 분석에 이상적입니다. 핵심 차이:“기존에는 클러스터 셔플이 필요했던 집합 연산이 마이크로초 단위로 로컬에서 일어납니다.”
예시 사용
3. Approximate Top-K — 실시간 트렌딩
가장 빈번한 항목 K개를 bounded memory로 식별합니다. 이전에는 전체 카운트 후 정렬이 필요했지만, Top-K sketch는 일정한 메모리로 같은 작업을 수행합니다. 핵심 가치:“원본 이벤트 데이터를 다시 처리하지 않고 실시간 트렌딩이 가능합니다.”미리 계산된 sketch들을 머지하면 배치 잡을 라이브 리더보드로 변환할 수 있습니다.