HENGSHI SENSE Product Usage Performance Guide

Dataset Operation Guide

  1. Avoid establishing non-analytical aggregate-type new fields on datasets involving "Multi-table Joins", "Data Aggregation", and "Data Merging". These three types of datasets perform joins, aggregations, and merges in real-time during querying. Creating new aggregate fields (such as sum, avg, etc.) on the final dataset will increase the cost of dataset production multiplicatively (e.g., A join B -> C, if three aggregate fields are added on C, the complexity during querying would be 3 (the multiple introduced by the three aggregate fields) + 1 (the original join of A and B) = 4 times the cost of join). Consider adding aggregate-type functions in the calculation indicators of the Chart instead.
  2. Avoid nesting multiple layers in datasets involving "Multi-table Joins", "Data Aggregation", and "Data Merging". As these datasets are calculated in real-time during queries, the more layers constructed, the higher the production cost, and the slower the analysis. If the generation process cannot be simplified, consider: 1.) Enabling the "Acceleration Engine" for the final dataset, where the system will solidify the results of the dataset generation, so it does not regenerate the dataset in real-time for subsequent queries. (Note: After enabling the acceleration engine, the basic permission for the dataset becomes the dataset owner's permission, and subsequent permissions settings are based on this foundation.) 2.) Implement the complex generation process in the source database, resulting in a table within the client's business database, and establish a dataset on this result table.

Dashboard Operation Guide

  1. It is recommended to keep the number of Charts on a single dashboard within 20, as too many Charts will increase the pressure on backend data source queries and frontend page rendering.
  2. During the editing process of Charts, when selecting fields for dimensions and comparative dimensions (tables), choose fields with fewer distinct values; otherwise, it will lead to poor visualization effects and exacerbate performance issues.
    1. The so-called distinct value refers to the number of unique values that a field has in the data source.
  3. Clicking the refresh button on the dashboard and chart page, the system will bypass any possible cache, push down a new query to the data source (to see if the engine is imported) to obtain the result data, and then render and display it on the page.
  1. In the system settings, there is an option for "Chart Data Cache Duration." Within this period, repeated queries, except for the first time, will utilize the cache and will not push down to the data source, thus not consuming system resources. Users may want to consider making appropriate settings according to their own business scenarios, such as if the analysis is all done on a T+1 basis, you could set this value to 86400, so that repeated queries for the day will not consume system resources.

Remarks:

  1. Performance increases linearly with the level of concurrency, which refers to the number of simultaneously queried statements, concurrent users, and the number of pages and Charts open on the Dashboard.