Caching and data freshness
When you open a document like a workbook or data model, Sigma generates and runs optimized SQL queries to retrieve data from your connected data platform. Sigma does not store your data, and uses browser caching and warehouse-level caching to ensure fresh data while also reducing warehouse overhead.
How Sigma reduces warehouse overhead
When data elements are updated, Sigma tries to reduce the overhead on your warehouse and run efficient queries only as necessary. The steps Sigma follows are:
- Check browser cache
- Try Alpha Query
- Try data platform result ID cache (only available for some data platforms)
- Re-query the warehouse, merging queries if possible.
Manual refresh or scheduled refresh bypasses all caching options. See Manage workbook refresh options.
For more details about what queries are running and where, review the query history for a workbook, data model, or dataset. See Examine workbook and data model queries and Examine dataset queries.
Check browser cache
The browser cache accounts for the data immediately accessible in the browser. The browser cache is not available when you first open a workbook or data model because the cache is empty, but as you make changes, Sigma automatically uses the browser cache to display results when possible.
If you make changes to a data element, Sigma first checks if existing data already in the browser can still work for the updated element.
This might happen when:
- A column is renamed or moved
- A column is hidden
Try Alpha Query
If the data in the browser can't be used directly, Sigma checks if it can recalculate new values using the existing data in the browser.
This might happen when:
- A new aggregate column is added.
- A filter is added.
To use Alpha Query more frequently, configure data loading.
Try query ID cache
The query cache is only used if your data warehouse supports result caching, such as with Snowflake and BigQuery.
This might happen when:
- Regrouping data
Sigma does not store query results, only the query ID returned by the warehouse, and uses that ID to retrieve results from the cache in the data warehouse.
Merging queries
Sigma attempts to merge queries to reduce the number of separate queries that need to be performed against your data platform.
If Sigma must re-query the data platform to retrieve the latest data, queries might be combined if the following conditions are met:
- The data elements do not have dependent actions configured, such as cases where clicking a row in 1 element filters another element.
- If the data elements are charts, the Aggregate values checkbox must be selected for the charts.
- The data elements must be consistently filtered, either by having no filters or the same filters applied.
- The data elements do not contain any lookups, joins, or other references to columns in other data elements.
Set a query ID cache duration
Some data platforms support returning results of past queries from a cache using a query ID, such as Snowflake and BigQuery.
A workbook's cache duration, or time-to-live (TTL), refers to the duration within which Sigma attempts to retrieve results from the result cache of the data platform using the query ID.
- If Sigma determines that the query ID cache can be used for a query and the last time the query was run against the data platform is within the query ID cache duration, Sigma does not attempt to re-run the query against the warehouse.
- If the last time the query was run against the warehouse is outside the query ID cache duration, Sigma retrieves the results from the data platform results cache using the query ID and renders the workbook, and in parallel Sigma executes the query against the warehouse. When the latest results are returned from the warehouse, Sigma updates the workbook elements.
For information about changing the TTL, see Set a query ID cache duration.
Manual refresh and refresh schedules
Use a refresh schedule, if necessary. For more information see workbook refresh options.
Sigma does not store query results, only the query ID returned by the warehouse. Every data refresh re-queries the data in the warehouse. Setting an auto-refresh might burden the connection and result in significant warehouse costs.
Updated 4 days ago
