HyperLogLogLog: Cardinality Estimation With One Log More

preprint2022arXivOpen access

Abstract

We present HyperLogLogLog, a practical compression of the HyperLogLog sketch that compresses the sketch from O(mlog⁡log⁡n)O(m\log\log n) bits down to mlog⁡2log⁡2log⁡2m+O(m+log⁡log⁡n)m \log_2\log_2\log_2 m + O(m+\log\log n) bits for estimating the number of distinct elements~nn using mm~registers. The algorithm works as a drop-in replacement that preserves all estimation properties of the HyperLogLog sketch, it is possible to convert back and forth between the compressed and uncompressed representations, and the compressed sketch maintains mergeability in the compressed domain. The compressed sketch can be updated in amortized constant time, assuming nn is sufficiently larger than mm. We provide a C++ implementation of the sketch, and show by experimental evaluation against well-known implementations by Google and Apache that our implementation provides small sketches while maintaining competitive update and merge times. Concretely, we observed approximately a 40% reduction in the sketch size. Furthermore, we obtain as a corollary a theoretical algorithm that compresses the sketch down to mlog⁡2log⁡2log⁡2log⁡2m+O(mlog⁡log⁡log⁡m/log⁡log⁡m+log⁡log⁡n)m\log_2\log_2\log_2\log_2 m+O(m\log\log\log m/\log\log m+\log\log n) bits.

Explore this paper’s authors, topics and related work.

Building this map preview

BZPEER is loading the nearby papers, people, topics and institutions for this page.

Reviews 0

Write a reviewWrite

No reviews yet.

Discussion 0

Add a commentWrite

No comments yet.