SAP HANA Architecture

Welcome to this foundation tutorial explaining the SAP HANA Architecture in detail. Here, we will understand the different components that make up the SAP HANA appliance.

SAP HANA Architecture in blocks

SAP HANA is not just a database – it’s an appliance which consists of different servers. Index server is the primary component but it consists of other different servers as well. Let’s understand what each of these servers are responsible for.

SAP HANA Index Server

1

The most important server in the architecture is the Index server. The actual data is contained here and the engines that process this data are also present in the index server itself. It has multiple components and its architecture will be taken up as a separate topic in the next tutorial.

SAP HANA Name Server

Stores information about the topology of the SAP HANA System. SAP HANA can also run on multiple hosts. In these cases, the name server knows where each component runs and also knows which data is located on which server.

SAP HANA Preprocessor Server

Whenever a text analysis functionality is called upon by the index server, the preprocessor server answers such requests.

SAP HANA Statistics Server

This collects data about the resource allocation, performance and status of the SAP HANA system. It keeps a regular update on the health check of the HANA appliance.

SAP HANA XS Server / XS Engine

The XS Engine allows external applications to access the data models in the SAP HANA database via XS Engine Clients. It transforms the persistence model in the database into consumption model for external clients to be exposed via HTTP/HTTPS.

Application/Reporting Layer

1

This block is not part of the SAP HANA architecture but it is there to represent that any web service/ application or reporting layer can interact and pull the required data for itself and also write data back into the database

This concludes the tutorial on the high level architecture of SAP HANA. In the next tutorial, we learn more about the Index server and all its components in detail.

3 Comments

Input parameters can be used in dynamic calculations to make any statement dynamic. Simple example would be to have an input parameter called bonus_factor. Let’s say there’s a new calculated field BONUS which should be equal to SALARY* bonus_factor . so bonus_factor comes in as part of user input and helps derive a calculated field. Variables can’t do this.