Every now and then the Design Studio development team is contacted by people using Design Studio applications with data stored on HANA, reporting that the execution time of a data source in Design Studio is perceptibly larger than executing the corresponding view directly in HANA tools like HANA studio or the HANA Web IDE.
At first glance executing a data source in Design Studio and executing the corresponding view appears to be the same action. However Design Studio also provides multidimensional and analytic features on top of the resulting data from HANA, such as:
HANA tools, in particular when showing a view’s data, do not apply hierarchy information to visualize hierarchies. In Design Studio, however, available hierarchies of a view are typically always used and processed. Depending on the complexity of the hierarchy, this may take a significant amount of processing time.
Currency and Unit Calculations
In HANA tools, values in currency and unit columns are treated merely as numbers. When calculating totals of such columns, their numbers are simply added by HANA, not taking into account differences in individual currencies or units. In Design Studio these differences are fully taken into account. Design Studio will never add values of different currencies or units. Analyzing each value for the associated currency or unit takes a certain amount of processing time.
Drilldown Including Total/Subtotal Calculations
HANA tools process and display data from a simple relational point of view, whereas Design Studio processes and displays data from a multidimensional point of view: Data is arranged along axes in nested drill-downs, often including the calculation of totals and subtotals.
This shows a Raw Data view in HANA Studio:
This shows the same data as a part of a multi-dimensional drill-down in Design Studio:
As you can imagine from the screenshots, providing this additional multi-dimensional information also takes some processing time – that is significantly influenced by the number of dimensions and the dimensions’ arrangement in the drill-downs.
Number of Records
HANA tools process only a limited number of records by default. In HANA Studio’s Data Preview 200 rows are processed and displayed by default. In HANA Studio’s SQL View 1000 rows are processed and displayed by default. Design Studio processes all relevant records. Limiting the number of records would imply wrong results for totals, for example. Processing a limited number of records is certainly more performant that processing all records.
While HANA tools leads users to experiment ad hoc with the plain view without much configuration, Design Studio has the concept of an initial view, offering users to completely preconfigure the view as they need it in their Design Studio application. The initial view is stored and retrieved with the application and thus contributes to additional processing time when compared with the more ad hoc way of working with views in HANA tools. Design Studio passes the initial view to HANA where it is processed. This is another contribution to additional processing time when comparing Design Studio with HANA tools.
Validation of Values When Applying Filters or Variable Values
HANA tools, like in Design Studio, offer the concept of variables and filters. While in HANA tools the applied variable values or filter values are not validated, in Design Studio applications both variable and filter values are validated. This allows Design Studio applications to provide feedback to users when invalid values were applied. As all validation needs to check values against the available data a certain processing time is spent for providing this capability.
Tip: To improve the performance when applying filter and variable values see Design Studio: Improving Performance of HANA Views
At first glance, executing a data source in Design Studio and executing the corresponding view appears to be the same action. This is not true, however. The additional time reported by Design Studio users is spent by calls to HANA to provide multidimensional and analytic features on top of the plain data from HANA.