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.
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.
COUNT, SUM, AVG, MIN, MAX, COUNT(DISTINCT). Streaming aggregate executor.
SUM(qty * price), AVG(score - baseline) - wraps any expression, not just bare columns.
WHERE on indexed columns avoids full scans. EXPLAIN ANALYZE shows the chosen path.
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 } }
]
} 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.
- post-1.0Window functions (RANK, LAG, LEAD).
- post-1.0Recursive CTEs.