You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently, summaries are persisted on a per-day level. Moreover, the summary calculation logic assumes that there are no overlaps.
For performance reasons, it would be cool to have support for storing summaries on different levels of granularity, e.g. have daily summaries alongside monthly or yearly summaries.
Then, for when a request comes in, there are three options how we could make Retrieve() behave:
Option A: Make it as smart as to "adaptively" choose from the available summaries while (a) avoiding overlaps and (b) minimize minimizing the number of individual summaries used
Option B: Hard-code what "granularity levels" could theoretically exist, then start with the largest one that still matches the requested interval, probe to find according persisted summaries and otherwise continue with the next smaller one
Option C: Explicitly store the "granularity" level with a summary (e.g. have an interval column with values daily, weekly, etc., similar to what we have for leaderboard_items) and then follow the logic from option B of choosing the appropriate granularity level given the requested interval
I think option C is easiest to implement. However, this needs to be planned out further.
The text was updated successfully, but these errors were encountered:
Currently, summaries are persisted on a per-day level. Moreover, the summary calculation logic assumes that there are no overlaps.
For performance reasons, it would be cool to have support for storing summaries on different levels of granularity, e.g. have daily summaries alongside monthly or yearly summaries.
Then, for when a request comes in, there are three options how we could make
Retrieve()
behave:interval
column with valuesdaily
,weekly
, etc., similar to what we have forleaderboard_items
) and then follow the logic from option B of choosing the appropriate granularity level given the requested intervalI think option C is easiest to implement. However, this needs to be planned out further.
The text was updated successfully, but these errors were encountered: