Proposal: Add DDSketch (Relative-Error Quantile Sketch)
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 45/100
Direzione di ricerca
Inizia leggendo il paper su DDSketch e la reference sketches-java di Datadog. L’implementazione proposta deve trovarsi in ddsketch.hpp e includere serializzazione, deserializzazione, test unitari e benchmark. Il lavoro è considerato completato quando è disponibile un DDSketch autonomo e unibile, con accuratezza relativa configurabile e memoria limitata, senza modificare le API esistenti.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Proposal: Add DDSketch (Relative-Error Quantile Sketch)
Summary:
This issue proposes adding an implementation of DDSketch, a mergeable quantile sketch with relative-error guarantees, to the datasketches-cpp library.
Benefits:
- Relative-error guarantees
- Mergeability for distributed processing
- Predictable memory usage
- Used in production (Datadog, OpenTelemetry)
References
- VLDB 2019: DDSketch Paper
- Datadog's sketches-java repo
Proposed Design
- New class under
ddsketch.hpp - Logarithmic mapping of input values to buckets using configurable relative accuracy
- Compact, bounded memory footprint with optional bucket collapsing
- Mergeable histogram-style structure
- Serialization and deserialization support
- Unit tests and benchmarks included
Compatibility
- No changes to existing APIs
- Implementation will be self-contained
- Optional: initial release could be marked experimental
Next Steps
If there is community interest, I’m happy to:
- Share a detailed design document
- Begin work on the implementation and submit a PR
- Iterate based on feedback
Would the maintainers be open to including DDSketch? Are there specific design or compatibility considerations I should address before proceeding?
- Lingua principale
- C++
- Stelle
- 273
- Fork
- 88
- Merge medio
- 1g 19h
- PR unite (30g)
- 9
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di apache/datasketches-cpp
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
apache/datasketches-cpp#499 ·
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
apache/datasketches-cpp#502 · 11 commenti · 1 reazione ·
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 45/100
apache/datasketches-cpp#460 · 6 commenti ·
-
Reorganization proposal Aperta
Difficoltà 5/5 Più di una settimana Idoneità per principianti 20/100
apache/datasketches-cpp#419 · 6 commenti ·
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
apache/datasketches-cpp#416 · 13 commenti ·
Tutte le issue di apache/datasketches-cpp
Issue simili
-
enhancement
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 88/100
QuantStack/git2cpp#187 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 86/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
mlcommons/mobile_app_open#1182 ·
-
Needs-Triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
microsoft/winget-cli#6547 ·
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 90/100
AXERA-TECH/ax-llm#77 ·