Analytics Workloads
Your dashboards and reports run directly on the same tables your AI reads — no separate warehouse copy that slowly drifts out of sync.
Imagine two scoreboards at the same game, updated by two different people. Sooner or later they disagree, and the argument is about the scoreboards, not the game. We keep one scoreboard: dashboards and AI read the same tables, so when a number changes, it changes for everyone at once.
The problem, in plain words
The quarterly review opens with the classic scene: the dashboard shows one revenue figure, the AI-generated summary shows another, and the analyst who could explain the gap is on vacation. The cause is almost always the same — the dashboard reads the warehouse, the AI reads a copy in the data lake, and the nightly job that syncs the two hiccupped on Tuesday. Nobody's number is wrong on purpose. There are just two numbers where there should be one.
What we set up
We run the analytics directly on the lakehouse — the same shared tables the AI reads — instead of keeping a separate warehouse copy. A query engine built for fast, interactive questions (Trino, Starburst, Dremio, Athena — or external tables in BigQuery or Snowflake, whichever fits your stack) sits on top of those tables. Your BI tools connect to the engine the way they always did; underneath, there is just one set of data. The most-watched dashboards get pre-computed views (materialized views — answers calculated ahead of time so the page opens instantly) and caching, so speed doesn't suffer for it.
How it works, step by step
- Put a query engine on the lakehouse
It reads the same Iceberg or Delta tables as everything else. No copy is made.
- Reconnect the BI tools
Dashboards point at the engine instead of the old warehouse. For the people using them, nothing looks different.
- Speed up the hot paths
The dashboards people open every morning get pre-computed views and cached results, tuned at the table and partition level.
- Keep the same access rules
The catalog's permissions apply here too — an analyst sees exactly what they are allowed to see, same as an agent.
- Track what each query costs
Every query is attributed, so you can see whose dashboards use the resources — and tune the expensive ones.
What changes for you
Before: 'why do these two numbers disagree' is a recurring meeting. After: dashboards and agents read the same row, at the same freshness, under the same access rules — so when numbers disagree, it's a real business question, not a sync delay. What it won't do: it won't settle definitional arguments. If two teams count 'active customer' differently, that's a conversation between people — the engine just guarantees both are at least looking at the same data.