cube-js/cube

Quantile Support for Pre-Aggregations

Open

#2,931 建立於 2021年6月9日

在 GitHub 查看
 (5 留言) (4 反應) (2 負責人)Rust (1,965 fork)batch import
help wantedpre-aggregations

倉庫指標

Star
 (19,563 star)
PR 合併指標
 (平均合併 5天 16小時) (30 天內合併 138 個 PR)

描述

Is your feature request related to a problem? Please describe. Much of our aggregations are based on quantiles (e.g. 0.95 -> 95p). It is well-known that you cannot merge quantiles without having all of the original data, which prevents such aggregations in pre-aggregations. It would be very nice to have pre-computed quantiles that can be merged, similar to counts, sums, etc.

First, does the community care about quantile-based pre-aggregations? If the answer is no, then we can just close this out.

If there seems to be a use for this, I'd be happy to help.

I mentioned this at the community meeting on 06/09/2021 (@rpaik).

Describe the solution you'd like

References:

There are digest-based data structures, such as t-digests, that can produce accurate, bounded-size, mergeable quantile approximations. They are typically used in streaming or map-reduce-like settings for efficiently/concurrently combining rank statistics, but I think they would also be useful in pre-aggregations. There is a definite tradeoff between space and accuracy, so tuning could be tricky, but it seems that there are decent defaults that would suit most use cases.

貢獻者指南