The most common form of Dataset created using Nathean Analytics will usually be based on a parameterised database query or API Call.
As each dataset may have many different views, often with different permutations of saved parameters, and featuring on one or more Dashboards which can be accessed multiple times a day by any number of users, allowing Datasets to run “live” against a production system is usually inadvisable. To this end, Nathean Analytics allows Datasets to be cached in-memory on the Nathean Analytics Server for a defined period of time. When a dataset is configured to be cached, it will store a copy of the result-set of every saved combination of parameters for that query, for the configured “Time to Live” of the dataset ensuring that when a Dashboard of views based on that dataset is loaded, the user doesn’t have to wait for each query to execute against the system for their KPIs to be visible and, equally importantly, the production system doesn’t have to cope with multiple heavy queries every time a dashboard is loaded. When the Time to Live expires, the data will be refreshed.
Unless there’s a need for data to be provided in “real-time” to end users, it is recommended that all Datasets that will serve data to Dashboard Views (even those returning static data from a spreadsheet or datamart) are configured to be cached as querying data from the Server’s RAM will always result in better performance than querying data from a disk on a Database Server.
Architecture Diagram of a Cached Dataset: