Acceleration: Benefits and Considerations
Sisense dashboards are built on top of a semantic layer. The semantic layer simplifies the complexity of the data, making it easier to access and understand without detailed technical knowledge. The semantic layer defines the facts, dimensions, and the relationships between them, which helps the user to build the dashboard. However, it does not accelerate the query itself.
Acceleration automatically generates an aggregation table from a dashboard, or set of dashboards. These aggregation tables are stored in an acceleration ElastiCube that can be configured to update at defined intervals. When a query is executed from a dashboard, it is directed to the acceleration ElastiCube to provide the answer.
Generating the acceleration aggregation tables requires unique information about the dashboard, such as the available drills and filters, including data security information. This information is provided by the dashboard designer.
By combining this information, Sisense is able to create a set of aggregation tables that contain all the information needed to answer potential queries from the dashboards. The acceleration takes into account all the filters, drills, and data security and makes them dimensions in the aggregation table. All measures are calculated on each combination of the dimension rows. The size of the acceleration tables are usually much smaller than the original data set.
Since the size of the table is affected by the number and size of the filters and dimensions, only the active/meaningful filters will be selected, to keep the aggregation table relatively small.
Benefits
Acceleration provides the following benefits:
-
Reduce DB Costs - The main goal of the acceleration mechanism is to minimize user expenses by using a Cloud Data Warehouse (CDW). Whether implemented as a B2D or ElastiCube, the mechanism enhances performance by decreasing query time, allowing users to maintain the same level of output while reducing CPU usage in the CDW.
-
Optimize Query Time - Querying the cloud data warehouse is much more efficient with acceleration due to the much smaller data size being scanned and fewer joins performed. Performance increases typically range from 2x to 100x.
-
Reduce Data Modeling Work - To shorten the loading time of a complicated dashboard, a solution is to generate view tables using the available data source. This requires data modelers to create a data model that aggregates the data to match the queries of the dashboard designers. Acceleration examines one or more dashboards and utilizes that context to construct the view tables.
Feature Onboarding and Backward Compatibility Considerations
Question |
Answer |
---|---|
Does the Build to Destination (B2D) feature need to be enabled? |
Yes. An admin user must enable Build Destination from the Admin tab in Feature Management.
|
Does Acceleration require me to do anything immediately? For example, would any of the existing logic (e.g., cube building) be affected? |
No. The system will continue to work as-is. Onboarding Acceleration can be done at your leisure. Enabling the feature does not affect any of your existing capabilities. |
What are the prerequisites for using Acceleration? |
Acceleration is exclusively employed for Live or B2D models. However, if you intend to develop acceleration, you can either construct it as an ElastiCube, or incorporate it into your Redshift or Snowflake data warehouse. If you choose the latter option, you must have access to AWS S3 storage, as well as Snowflake or Redshift that can function as the data warehouse. |
Once I enable it, what do I need to do? |
See Working with Acceleration. |
Can I switch the destination of the acceleration cube to a different destination? |
Yes. Configure the build to the desired destination database. Example: Switch from ElastiCube to Snowflake or Redshift. Note: This change will not delete the data from the previous destination. |
Is Acceleration capable of supporting a system that involves a large number of users and various data security roles? |
Yes. Acceleration considers data security when creating a table view. |
Who can view the acceleration model? |
The permissions of the acceleration model are the same as those of the original data model. Therefore, any changes that are made on the current permissions state will also apply to the acceleration model. |
Can I have more than one acceleration model per dashboard? |
No. The acceleration constructs one model per dashboard context. |
Can I have more than one acceleration model per data model? |
At present, it is possible to create an acceleration cube for each dashboard that belongs to the original data source. However, in upcoming updates, it will be feasible to generate an acceleration model for each model, which will consolidate all the dashboards associated with it. |
Can I delete the acceleration model? |
|
How is the acceleration different from the built-in result-cache? |
|
How do I update the acceleration model if I updated the dashboard that relates to it? |
Currently, you need to manually delete, create, and rebuild the acceleration model. However, in the future, this process will be automated and can be configured using an API or scheduler. |
Can I create a dashboard from an acceleration model? |
The acceleration mechanism is not intended for directly creating dashboards. Instead, it should be used on an existing data source, to redirect queries in the background. Using it incorrectly for dashboard creation can lead to invalid results. |