SAP HANA - Core Architecture
SAP HANA was initially, developed in Java and C++ and designed to run only Operating System Suse Linux Enterprise Server 11. SAP HANA system consists of multiple components that are responsible to emphasize computing power of HANA system.
Most important component of SAP HANA system is Index Server, which contains SQL/MDX processor to handle query statements for database.
HANA system contains Name Server, Preprocessor Server, Statistics Server and XS engine, which is used to communicate and host small web applications and various other components.
Index Server is heart of SAP HANA database system. It contains actual data and engines for processing that data. When SQL or MDX is fired for SAP HANA system, an Index Server takes care of all these requests and processes them. All HANA processing takes place in Index Server.
Index Server contains Data engines to handle all SQL/MDX statements that come to HANA database system. It also has Persistence Layer that is responsible for durability of HANA system and ensures HANA system is restored to most recent state when there is restart of system failure.
Index Server also has Session and Transaction Manager, which manage transactions and keep track of all running and closed transactions.
Index Server − Architecture
It is responsible for processing SQL/MDX transactions with data engines responsible to run queries. It segments all query requests and direct them to correct engine for the performance Optimization.
It also ensures that all SQL/MDX requests are authorized and also provide error handling for efficient processing of these statements. It contains several engines and processors for query execution −
MDX (Multi Dimension Expression) is query language for OLAP systems like SQL is used for Relational database. MDX Engine is responsible to handle queries and manipulates multidimensional data stored in OLAP cubes.
Planning Engine is responsible to run planning operations within SAP HANA database.
Calculation Engine converts data into Calculation models to create logical execution plan to support parallel processing of statements.
Stored Procedure processor executes procedure calls for optimized processing; it converts OLAP cubes to HANA optimized cubes.
Transaction and Session Management
It is responsible to coordinate all database transactions and keep track of all running and closed transactions.
When a transaction is executed or failed, Transaction manager notifies relevant data engine to take necessary actions.
Session management component is responsible to initialize and manage sessions and connections for SAP HANA system using predefined session parameters.
It is responsible for durability and atomicity of transactions in HANA system. Persistence layer provides built in disaster recovery system for HANA database.
It ensures database is restored to most recent state and ensures that all the transactions are completed or undone in case of a system failure or restart.
It is also responsible to manage data and transaction logs and also contain data backup, log backup and configuration back of HANA system. Backups are stored as save points in the Data Volumes via a Save Point coordinator, which is normally set to take back every 5-10 minutes.
Preprocessor Server in SAP HANA system is used for text data analysis.
Index Server uses preprocessor server for analyzing text data and extracting the information from text data when text search capabilities are used.
NAME server contains System Landscape information of HANA system. In distributed environment, there are multiple nodes with each node has multiple CPU’s, Name server holds topology of HANA system and has information about all the running components and information is spread on all the components.
Topology of SAP HANA system is recorded here.
It decreases the time in re-indexing as it holds which data is on which server in distributed environment.
This server checks and analyzes the health of all components in HANA system. Statistical Server is responsible for collecting the data related to system resources, their allocation and consumption of the resources and overall performance of HANA system.
It also provides historical data related to system performance for analyses purpose, to check and fix performance related issues in HANA system.
XS engine helps external Java and HTML based applications to access HANA system with help of XS client. As SAP HANA system contains a web server which can be used to host small JAVA/HTML based applications.
XS Engine transforms the persistence model stored in database into consumption model for clients exposed via HTTP/HTTPS.
SAP Host Agent
SAP Host agent should be installed on all the machines that are part of SAP HANA system Landscape. SAP Host agent is used by Software Update Manager SUM for installing automatic updates to all components of HANA system in distributed environment.
LM structure of SAP HANA system contains information about current installation details. This information is used by Software Update Manager to install automatic updates on HANA system components.
SAP Solution Manager (SAP SOLMAN) diagnostic Agent
This diagnostic agent provides all data to SAP Solution Manager to monitor SAP HANA system. This agent provides all the information about HANA database, which include database current state and general information.
It provides configuration details of HANA system when SAP SOLMAN is integrated with SAP HANA system.
SAP HANA Studio Repository
SAP HANA studio repository helps HANA developers to update current version of HANA studio to latest versions. Studio Repository holds the code which does this update.
Software Update Manager for SAP HANA
SAP Market Place is used to install updates for SAP systems. Software Update Manager for HANA system helps is update of HANA system from SAP Market place.
It is used for software downloads, customer messages, SAP Notes and requesting license keys for HANA system. It is also used to distribute HANA studio to end user’s systems.