As shared in the Data Security section, Holistics does not store a copy of your raw database data - what we save is mainly your metadata. For example, when you save a report, you are essentially saving a set of metadata on Holistics (including report query syntax, title, visualization settings, etc.)
This is what happens behind the scene when
- When you run a report, Holistics create a query job that will be distributed to workers and run against your database.
- Once your database has finished processing the query, the query results will be sent to our workers. Holistics app will then display the results of the query, and apply settings (as specified in your metadata) on it.
For the more technically inclined, here's a blog post on how we set up our job queue system.
If your report (or dashboard) has a drop-down SQL filter, our app first sends the filter's query to your database to retrieve filter values.
When the result set of the filter query is returned from your database, we insert the value into your main report query and send them to your database to get the final result.
To speed up your reports and dashboard, you can optionally enable caching function. At your selected time, even if there is no one manually accesses the report, Holistics will automatically load your report and store the result set in our cache server.
With caching enabled, when users open a report, instead of running a fresh query against your database, Holistics will fetch the aggregated result set from the server and display it. This will significantly reduce the report loading time, especially when your report contains complex logic or returns a large result set.
You also have visibility of when the underlying data of your report/dashboard was last cached. If you want to have the latest data, you can click on the refresh button to send a fresh query to your database for processing.
For a more detailed discussion about caching, please check our Data Caching page.
All the mechanisms mentioned above also apply to Holistics' Embedded Analytics.
Holistics does not require a copy of your report viewers' identification (such as their ID, email, etc.), so there is no need to replicate your users' information into Holistics, or create a new Holistics user account whenever you onboard a new viewer.
In case you need to restrict their data views, you can create a SQL dropdown filter that fetches embedded viewers' IDs from your own database to use as filter values. Combine it with your dashboard, and you can have a setup in which viewers can only see the data they have access to.