As shared in our docs, Holistics does not store a copy of your raw database data. What we save is mainly your metadata. The basic flow of data from Holistics as below.
- When you save a report, you are essentially saving the metadata on Holistics (report query syntax, title, settings etc).
- When the Holistics report is accessed, Holistics will send the query syntax (of the report) to your database for processing. Our worker node will wait for the results of your query to return the results.
- Once your database has finished processing the query, the query results will be sent to our workers. Holistics app will then (a) display the results of the query, and (b) apply any specific metadata settings on it (title, filters, visualization type) to ensure your application works
For the more technically inclined, here's a blog post on how we setup our job queue system.
Holistics Multi-tenant job queue system
In the event your report (or dashboard) has drop-down filters (where filter values are retrieved through SQL), our app first send the filter query to your database and wait for it to be returned first.
When the results of the filter query is returned from your database, we insert the value into your main report syntax query and send them to your database to retrieve the report results.
You can setup caching (optional) so you can pre-run the queries for your reports/dashboards to preload them before anyone access it manually. This data will be cached on Holistics server.
When the Holistics report is accessed - Instead of sending a fresh query to your database, the results for your filter and/or report queries will be retrieved from the Holistics cache. Preloading this data will give the impression that data loads faster for your users.
If your users access this same report online, you have visibility over when the data of the report/dashboard was last updated as per this screenshot.
If your users want to retrieve real-time data, they can click on the refresh button to send a fresh query to your database for processing.
Refreshing Holistics Dashboard Cache
Holistics works without the need to store a copy of your embedded clients information (such as their id, email etc), so you don't need to create (or replicate) your users information into Holistics.
In an embedded analytics setup, you will setup a dropdown filter to retrieve your embedded viewers information from your database through a SQL query. Based on the id of your embedded viewers, you can setup your dashboard to show different data to different embedded viewers based on their own access rights.