SAP HANA - Information Modeler
SAP HANA Information Modeler; also known as HANA Data Modeler is heart of HANA System. It enables to create modeling views at the top of database tables and implement business logic to create a meaningful report for analysis.
Features of Information Modeler
Provides multiple views of transactional data stored in physical tables of HANA database for analysis and business logic purpose.
Informational modeler only works for column based storage tables.
Information Modeling Views are consumed by Java or HTML based applications or SAP tools like SAP Lumira or Analysis Office for reporting purpose.
Also possible to use third party tools like MS Excel to connect to HANA and create reports.
SAP HANA Modeling Views exploit real power of SAP HANA.
There are three types of Information Views, defined as −
- Attribute View
- Analytic View
- Calculation View
Row vs Column Store
SAP HANA Modeler Views can only be created on the top of Column based tables. Storing data in Column tables is not a new thing. Earlier it was assumed that storing data in Columnar based structure takes more memory size and not performance Optimized.
With evolution of SAP HANA, HANA used column based data storage in Information views and presented the real benefits of columnar tables over Row based tables.
In a Column store table, Data is stored vertically. So, similar data types come together as shown in the example above. It provides faster memory read and write operations with help of In-Memory Computing Engine.
In a conventional database, data is stored in Row based structure i.e. horizontally. SAP HANA stores data in both row and Column based structure. This provides Performance optimization, flexibility and data compression in HANA database.
Storing Data in Columnar based table has following benefits −
Faster read and write access to tables as compared to conventional Row based storage
Flexibility & parallel processing
Perform Aggregations and Calculations at higher speed
There are various methods and algorithms how data can be stored in Column based structure- Dictionary Compressed, Run Length Compressed and many more.
In Dictionary Compressed, cells are stored in form of numbers in tables and numeral cells are always performance optimized as compared to characters.
In Run length compressed, it saves the multiplier with cell value in numerical format and multiplier shows repetitive value in table.
Functional Difference - Row vs Column Store
It is always advisable to use Column based storage, if SQL statement has to perform aggregate functions and calculations. Column based tables always perform better when running aggregate functions like Sum, Count, Max, Min.
Row based storage is preferred when output has to return complete row. The example given below makes it easy to understand.
In the above example, while running an Aggregate function (Sum) in sales column with Where clause, it will only use Date and Sales column while running SQL query so if it is column based storage table then it will be performance optimized, faster as data is required only from two columns.
While running a simple Select query, full row has to be printed in output so it is advisable to store table as Row based in this scenario.
Information Modeling Views
Attributes are non-measurable elements in a database table. They represent master data and similar to characteristics of BW. Attribute Views are dimensions in a database or are used to join dimensions or other attribute views in modeling.
Important features are −
- Attribute views are used in Analytic and Calculation views.
- Attribute view represent master data.
- Used to filter size of dimension tables in Analytic and Calculation View.
Analytic Views use power of SAP HANA to perform calculations and aggregation functions on the tables in database. It has at least one fact table that has measures and primary keys of dimension tables and surrounded by dimension tables contain master data.
Important features are −
Analytic views are designed to perform Star schema queries.
Analytic views contain at least one fact table and multiple dimension tables with master data and perform calculations and aggregations
They are similar to Info Cubes and Info objects in SAP BW.
Analytic views can be created on top of Attribute views and Fact tables and performs calculations like number of unit sold, total price, etc.
Calculation Views are used on top of Analytic and Attribute views to perform complex calculations, which are not possible with Analytic Views. Calculation view is a combination of base column tables, Attribute views and Analytic views to provide business logic.
Important features are −
Calculation Views are defined either graphical using HANA Modeling feature or scripted in the SQL.
It is created to perform complex calculations, which are not possible with other views- Attribute and Analytic views of SAP HANA modeler.
One or more Attribute views and Analytic views are consumed with help of inbuilt functions like Projects, Union, Join, Rank in a Calculation View.