Old Approach - Data Processing in the Application
In a legacy application, the role of the database is to simply store and provide raw data to the application.
The raw data is sent from the database directly to the application. The application then begins to process the data by combining it, aggregating it, and performing calculations in order to generate meaningful output.
We can find ourselves moving a lot of raw data between the database and the application. Unfortunately, when we move raw data to the application layer, we make the application code very complex. This is because the code has to deal with the data processing tasks as well as managing all of the other parts of the application including process flow control, business logic, user Interface (UI) operations, integrating data from multiple sources, and so on.
New Approach - Data Processing in the Database
With SAP HANA Cloud, we can build a sophisticated data processing layer on top of the database tables, right inside the database. This means we can first process the raw data and turn it into something meaningful in the database before passing the results to the application for consumption.
With SAP HANA Cloud, the main type of modeling object is called a calculation view. A calculation view can handle a wide variety of data processing tasks. For example, calculation views can combine data from multiple tables or other calculation views, apply filters, calculate new data and aggregate the data at any level. A calculation view does not store data, it simply calculates results on-the-fly in memory. The calculation views are developed in SAP HANA Cloud using easy-to-use graphical modeling tools, and are stored in SAP HANA Cloud database.
So, instead of the application including complex code to process the data, the application now calls the required calculation views and the processing is pushed down to SAP HANA Cloud database and the results are passed to the application for further processing. This is efficient in the following ways:
The application code is simplified, as it does not have to deal with many data processing tasks. These tasks are pushed down to SAP HANA Cloud database where in-memory processing takes place.
The processing on the data is carried out where the data resides, so we do not have to move raw data from the database to the application. We only move the results of the data processing to the application.
The calculation views can be reused in multiple applications so we avoid redundancy.
Reuse of Models
In traditional applications, there is a high degree of redundancy in the application code. Developers find themselves continually creating the same code to process data.
When dealing with highly normalized database models, such as those used with SAP Business Suite, there can be many individual tables that need to be called and combined using joins. These joins can usually be pushed down in most databases. However, SAP HANA Cloud database goes beyond helping with just the table joins. SAP HANA Cloud database can take over all data processing tasks from the application. SAP HANA Cloud database takes care of complex calculations and data flow logic, including executing aggregations and disaggregation.
SAP HANA Cloud calculation views can contain dynamic placeholders. This means a business user can provide input values to the calculation view at run-time using a pop-up prompt. Typical uses cases for this are to provide filter values to reduce the data set.
Calculation views can consume the results of other calculation views. This encourages a high degree of modularization and reuse of calculation views. A calculation view is usually part of a stack of calculation views that make up a complete data model. It is good practice to design a calculation view considering future uses of that view so that it can easily be reused. This avoids redundancy of models and encourages easier maintenance.
Advanced Data Processing Capabilities
Watch this video to learn about the advanced data processing capabilities.