Skip to content

Hydra follow-ups: group totals in the executor, Pass 1 HydraCms candidates, Hydra top-k #703

Open

Description

@zzylol

Scope (deferred for now)

Remaining Hydra work, postponed so the migration's core groups land first:

  1. Group totals in the executor. Upstream asap_sketchlib Design: pre-ASAP structural CSE via bottom-up hash-consing over Rc<QueryExpr> #223 adds Hydra::query_group_total (minimum across rows; never undercounts with non-negative counts; bound n_g + 4N/w at confidence 1−(1/4)^r level). The planner pin branch planner-pin/univmon-hydra puts it on top of the current executor pin. Executor wiring:
    • move the pin;
    • add HydraCms::group_total;
    • answer a point count with value: None in HydraCmsGroup::estimate;
    • accept value: None in capability.rs;
    • fix group_view_reads_and_merges_one_group.
  2. Pass 1 Hydra (G7b). Offer HydraCms for grouped counts, with the Absolute ε·‖stream‖₁ guarantee (after the accuracy metric work in Accuracy targets and guarantees: three error metrics (absolute, relative, rank), a shared AccuracySpec, and metric-aware satisfies #690); prune the degenerate per-group Count-Min for COUNT(*) GROUP BY k with a reason. The executor side (HydraCms kernel, weighted updates, filtered aggregates) is already in feat(asap-physical-operators): execute HydraCms grouped counts and filtered aggregates #695.
  3. Hydra top-k. A per-subpopulation heap kernel and its guarantee.

Related: #695, #690, #669, upstream sketchlib #223.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestsubpopulationsGrouped, hierarchical, or multi-subpopulation summaries

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions