OriginChain
solution · real-time analytics

GROUP BY in milliseconds.

Operational analytics over fresh data - dashboards that reflect the last second, not the last hour. We are not Snowflake. We don't try to be.

what we mean by real-time

Dashboards that need to reflect the last second, not the last hour. Operational counters. Live leaderboards. Real-time cohort splits. Aggregate alerts. None of this is warehouse-tier batch analytics; all of it is what your product needs to feel alive.

shipped surface
01
GROUP BY + aggregates

COUNT, SUM, AVG, MIN, MAX, COUNT(DISTINCT). Streaming aggregate executor.

02
Aggregate over expression

SUM(qty * price), AVG(score - baseline) - wraps any expression, not just bare columns.

03
Predicate pushdown

WHERE on indexed columns avoids full scans. EXPLAIN ANALYZE shows the chosen path.

explain analyze

Every plan, estimated vs actual, side by side.

Every aggregate plan shows estimated and actual row counts plus cost per node. Drift between the two is visible in one response - you don't have to instrument your dashboard to find a slow query.

{
  "node": "GroupAggregate",
  "by":   ["country"],
  "cost":   { "rows_estimate": 5,  "io_cost": 12.4 },
  "actual": { "rows": 5, "ms": 23.1 },
  "children": [
    { "node": "IndexScan", "index": "by_country",
      "cost":   { "rows_estimate": 18420, "io_cost": 9.2 },
      "actual": { "rows": 18420, "ms": 18.4 } }
  ]
}
what we are not

Not Snowflake. Not BigQuery.

Multi-TB warehouse analytics over historical archives is not us. If you want columnar scans across years of data, export to one of those. Our sweet spot is operational analytics over live data - where the latency budget is milliseconds, not seconds.

deferred
  • post-1.0Window functions (RANK, LAG, LEAD).
  • post-1.0Recursive CTEs.