Cache results of aggregation / histogram requests per sealed fraction
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 35/100
- Issue type
- Feature
- Clarity
- Needs clarification
- Activity status
- Quiet
- Tech stack
- elasticsearch, go, redis
- Domain
- databases, performance
Research direction
Start with docs/en/11-benchmarks.md and the existing cache subsystem to understand the aggregation and histogram read path and the stated performance gap. Compare that with the seq-ui logs_lifespan/events pattern; the issue is complete only after maintainers decide whether caching belongs in seq-db or seq-ui and define the accepted scope.
Written by the indexing model from the issue text.
Description
Dashboards re-issue the same aggregation/histogram queries every N seconds,
and seq-db recomputes them from scratch on every refresh — the most
expensive read path (docs/en/11-benchmarks.md) with the most repetitive
workload. Caching the results seems natural (cf. Elasticsearch's shard
request cache), and we'd like to know where the maintainers see it living:
-
In seq-db (store level, per sealed fraction). Sealed fractions are
immutable, so a result fully covering a fraction can be cached without
TTL and stays exact; sliding windows reuse interior fractions. We built
a prototype this way: an opt-inaggslayer in the existing cache
subsystem, hit ≈ 2.7µs vs 14ms recompute on a 200k-doc fraction. Happy
to submit a PR if this direction is acceptable. -
In seq-ui (Redis, TTL). Simpler, follows the existing
logs_lifespan/events pattern, but results go stale within the TTL,
a shifted time window is always a full miss, and other API consumers
don't benefit.
Is per-fraction caching in seq-db something you'd accept, or do you consider
result caching out of scope for the engine and better kept in seq-ui?
- Dominant language
- Go
- Stars
- 131
- Forks
- 16
- Avg merge
- 2d 4h
- Merged PRs (30d)
- 11
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from ozontech/seq-db
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
-
bug
Difficulty 4/5 3-5 days Newbie friendliness 45/100
-
performance
Difficulty 5/5 Over a week Newbie friendliness 20/100
-
feature
Difficulty 5/5 Over a week Newbie friendliness 35/100
-
Add store adapter Openfeature
Difficulty 5/5 Over a week Newbie friendliness 35/100
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
-
Difficulty 1/5 Under an hour Newbie friendliness 84/100
-
enhancement needs triage
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
-
kind/cleanup
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
kubernetes-sigs/kueue#15947 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
sympozium-ai/sympozium#627 ·