Skip to main content

Cache windows

Cache windows keep dashboards fast and warehouse bills predictable: instead of cards querying BigQuery whenever someone looks at them, their queries run on a schedule you control and everyone is served the cached result.

What a window is​

A window is a named time slot -- say "Overnight, 02:00 to 04:00" -- defined in your organisation's timezone. Cards that opt into caching are assigned to a window, and once per day, during that slot, Ignela re-runs each assigned card's query and stores the fresh rows. Each window has a cap on how many cards it will accept (default 15), so a single slot can never pile unbounded load onto your warehouse.

If several cards share an identical query, Ignela runs it once and the siblings reuse the rows -- a dashboard with five copies of the same query costs one warehouse run.

Who manages what​

  • Architects (T6) and above create and edit windows, set the organisation-wide guardrails, and see the performance view -- all on the Cached queries page under Govern in the sidebar.
  • Card authors (Builder, T4, and above) enable caching on their own SQL cards and pick a window -- or leave the choice on auto, and Ignela assigns the card to a window with free capacity.

Caching applies to cards with direct SQL. Dataset-bound cards already share their dataset's cache (see Create a dataset).

Guardrails​

Two organisation-wide guardrails, owned by Architects:

  • Default maximum rows per cached query (default 10,000). A card may set a lower cap for itself but can never exceed the guardrail.
  • Organisation timezone, which all window times are interpreted in.

Scheduled vs manual refresh​

The window keeps a card's cache warm automatically, once a day. When you need fresher numbers right now -- the data just changed, or you fixed the query -- the card's refresh control re-runs the query immediately and updates the cache for everyone. Manual refresh requires edit rights on the card; it does not wait for, or consume, the window's daily run.

What viewers get​

Viewers always read the cached rows, so dashboards open instantly and a busy Monday morning of dashboard traffic adds zero load to your warehouse. Filters still work: the cached result is the card's parameter-free base query, and filter values are applied in the browser. If a card has never been cached -- enabled today, window runs tonight -- Ignela falls back to running the query live once so nobody stares at an empty chart.

Keeping an eye on it​

The performance section of the Cached queries page aggregates each window's recent history: how many runs, how many errors, bytes scanned, and average and worst query times. Each card also records its last run's status and timing, so a failing query is visible where it is fixed.