DDSketch: A fast and fully-mergeable quantile sketch with relative-error guarantees

Charles Masson, Jee E. Rim, Homin K. Lee
8/28/2019
cs.DBcs.DS

Official code: DataDog/sketches-go (187 stars, Apache-2.0, last commit 2026-08-06). 2 more implementations below.

Abstract

Summary statistics such as the mean and variance are easily maintained for large, distributed data streams, but order statistics (i.e., sample quantiles) can only be approximately summarized. There is extensive literature on maintaining quantile sketches where the emphasis has been on bounding the rank error of the sketch while using little memory. Unfortunately, rank error guarantees do not preclude arbitrarily large relative errors, and this often occurs in practice when the data is heavily skewed. Given the distributed nature of contemporary large-scale systems, another crucial property for quantile sketches is mergeablility, i.e., several combined sketches must be as accurate as a single sketch of the same data. We present the first fully-mergeable, relative-error quantile sketching algorithm with formal guarantees. The sketch is extremely fast and accurate, and is currently being used by Datadog at a wide-scale.

View on arXivView PDF

Code Implementations(3)

Apache-2.0

Go implementations of the distributed quantile sketch algorithm DDSketch

18726Go, ShellSep 24, 20182 months agoApache-2.0
ddsketchquantile
Apache-2.0

DDSketch: A Fast and Fully-Mergeable Quantile Sketch with Relative-Error Guarantees.

13522JavaMay 28, 20192 weeks agoApache-2.0

Python implementations of the distributed quantile sketch algorithm DDSketch

9217Shell, PythonSep 24, 20187 months agoNOASSERTION
ddsketchquantile

Similar Papers

Cite this paper

@article{masson2019ddsketch,
  title  = {DDSketch: A fast and fully-mergeable quantile sketch with relative-error guarantees},
  author = {Charles Masson and Jee E. Rim and Homin K. Lee},
  year   = {2019},
  eprint = {1908.10693},
  archivePrefix = {arXiv},
  url    = {https://arxiv.org/abs/1908.10693}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/1908.10693.svg)](https://codeofpaper.com/paper/1908.10693)

Discussion