Key Features

Sketch Features Matrix

Common Sketch Properties

Built-In, General Purpose Functions

  • General purpose Memory Component for managing data off the Java Heap. This enables systems designers the ability to manage their own large data heaps with dedicated processor threads that would otherwise put undue pressure on the Java heap and its garbage collection. Starting with Java Version 9.0.0, this functionality is now native to the Java 25 language.
  • General purpose implementaion of Austin Appleby’s 128-bit MurmurHash3 algorithm, with a number of useful extensions.

Robust, High Quality Implementations.

  • Unit Tests:
    • Extensive test code leveraging TestNG.
    • High Test Code coverage (> 90%) as measured by [JaCoCo]https://www.eclemma.org/jacoco) and published by Coveralls.
  • Reproducible Characterization Studies
    • All our published speed and accuracy performance results can be reproduced using the code included in the Characterization repository.
  • Comprehensive Javadocs.

Opportunities to Extend

  • There is ample opportunity for interested parties to contribute additional algorithms in this exciting area.

Key Algorithms

Count Distinct / Count Unique

Solves Computational Challenges Associated with Unique Identifiers

  • Estimating cardinality of a stream with many duplicates
  • Performing Set Operations (e.g., Union, Intersection, and Difference) on sets of unique identifiers
  • Estimates of the error bounds of the result can be obtained directly from the result sketch

Four families of Count Unique algorithms:

  • The HLL Sketch. The famous HyperLogLog algorithm when stored sketch size is of utmost concern.
  • The CPC Sketch. The Compressed Probabilistic Counting algorithm when maximizing accuracy per stored sketch size is of utmost concern.
  • The Theta Sketch Framework. Theta sketches enable real-time set-expression computations and can operate on or off the java heap.
  • The Tuple Sketch. Tuple sketches are associative sketches that are useful for performing approximate join operations and extracting other kinds of statistical behavior associated with unique identifiers.

Quantiles

Four families of Quantile algorithms

Get normal or inverse PDFs or CDFs of the distributions of any numeric value from your raw data in a single pass with well defined error bounds on the results.

Frequency

Sampling

Filters and Set Membership