layout: doc_page

Introduction to the 3 Quantiles Sketches

Quantile-type sketches in the library

There are three types of quantiles sketches in the library. These sketches have many parallel methods. Please refer to the individual Javadocs for more information.

The REQ Sketch

  • Java
  • C++, Python
  • Key Features
    • Accuracy %: a function of K and relative with respect to rank. The user can select either High Rank Accuracy (HRA) or Low Rank Accuracy (LRA). This enables extremely high accuracy for the ends of the rank domain. E.g., 99.999%ile quantiles.
    • User selectable comparison criteria:
      • Less-Than (LT), which is compatible with the KLL and older Quantiles Sketch
      • Less-Than-or-Equals (LE), a common definition in some of the theoretical literature.
    • Java: Dedicated float implementation
    • C++: Template implementation for arbitrary comparible types.
    • Python: Dedicated float and integer implementations.

The KLL Sketch

  • Java
  • C++, Python
  • Key Features
    • Accuracy %: a function of K and independent of rank.*
    • Near optimal accuracy per sketch size compared to other constant accuracy quantiles sketches.
    • Java: Dedicated float implementation
    • C++: Template implementation for arbitrary comparible types.
    • Python: Dedicated float and integer implementations

The Quantiles Sketch

  • Java
  • Key Features
    • Accuracy %: a function of K and independent of rank.
    • Dedicated double implentation
    • java generic implementation for arbitrary comparible types.
    • The dedicated double implementation can be configured for off-heap operation.