Efficient SQL behind every query

Cubes and extracts are answers to questions you already had.

The compiler turns each question into a fast SQL statement that runs against your live tables.

The warehouse works less

The compiler resolves only the metrics, joins, and filters a question asks for, pushes the filters down into the SQL, and prunes every join the question doesn't need.

A question against a hundred-table model scans only what that question needs.

Generated SQL statement with multiple CTEs

Aggregates accelerate any query

Your team defines a pre-aggregate and materializes it in your own warehouse, refreshed by your own ETL.

The compiler applies a pre-aggregate where it fits: to a whole question, to one subtotal branch of a pivot, or to the numerator of a ratio while the denominator comes from source.

A question flows into the Honeydew compiler, which chooses between a pre-aggregated table and warehouse source tables and routes this one to the pre-aggregate

Every query is on the record

Every request lands in query history with its runtime, its warehouse query ID, and the user and domain behind it, so spend traces back to a question someone asked.

A slow report gets a diagnosis. Its record shows whether a pre-aggregate was used - and when none was, where the next one should go.

Query history rows showing the query ID, originating client, user, and status for questions arriving from a coding agent, Power BI, and ThoughtSpot