SAP HANA In-Memory Computing Engine (IMCE)– Index Server Architecture
Welcome to the followup tutorial to the SAP HANA Architecture. Here, we learn about the core of the HANA appliance – The IMCE (In memory computing Engine) or the Index Server. We already learnt in our previous tutorial that the data is contained and processed in this server. Let’s understand the components on Index Server in detail.
In-Memory Computing Engine / Index Server Architecture Components
To work with the SAP HANA database, users must use an application of their choice. This component creates and manages these sessions for the database clients. SQL Statements are used to communicate with the HANA Database.
The Authorization Manager
Data security is a critical aspect in any business. Nobody should be able to visualize more data than they are allowed to and similarly, unauthorized personnel should not be able to add or modify data or metadata in the SAP HANA Database. The Authorization manager makes sure this data security is enforced based on the user roles/authorizations that have been given to the database user ID .
The replication server is responsible for replicating the table data and metadata (structure) from the source system.
The term “metadata” stands for data about data. This includes information about table structures, view structures, datatypes, field descriptions and so on. All this metadata is stored and maintained by the Metadata Manager.
This component manages database transactions and keeps track of running and closed transactions. It co-ordinates with the other engines on database COMMITs and ROLLBACKs.
Request Processing and Execution Control
This is an important block of components that receives the request from Applications/Clients and directs it to the correct sub-block for further processing.
The sub-blocks are as listed below.
SAP HANA In memory computing engine SQL requests are processed by this component. Any kind of data insertion, updation and deletion of datasets are handled by this processor.
This block symbolizes the internal language of the SAP HANA Database. SAP HANA SQLScript optimizes operations by parallel processing of queries.
Multidimensional Expressions (MDX)
MDX language is used in need of manipulating and querying multidimensional OLAP cubes.
SAP HANA Planning Engine
This engine allows HANA to execute organizational planning operations to execute in the database layer. The scope of these applications can range from simple manual data entry through to complex planning scenarios.
SAP HANA Calculation engine
After initial processing from the SQLSCript, MDX and planning engine, the data models are converted into Calculation models which creates an optimal parallel processing enabled logical execution plan.
The Row Store
As discussed in the initial tutorials, Row store is a row based storage of data in a serial manner
The Column Store
Column based storage is exclusive to in-memory databases to faster querying of data.
Revisit the Row store vs column store tutorial to know more.
Persistence Layer & Disk Logger
We learnt in the first tutorial that SAP HANA is an in-memory database which is similar to the RAM of a PC that you may use. This also means that the main memory in SAP HANA is volatile, i.e in case of a power outage or restart, all data in it would be lost. Thus, there is a persistence layer to periodically save all the data in a permanent/persisted manner.
Data and logs of a system are stored in Log volumes whereas Data volumes store SQL data and undo log information and also SAP HANA information modeling data.
SAP HANA In memory computing engine saves all changes to data into the persistent disk at periodic intervals called savepoints. The default frequency of these savepoints is every 5 minutes which can be changed as per the requirement. If a system restart/power outage ever occurs, data from the last successful savepoint can be read from the data volumes, and redo log entries written to the log volumes.
Thank you for reading through the SAP HANA In memory computing engine / Index Server tutorial. I hope it gave you a deeper insight into the SAP HANA Architecture. Read on to the next tutorials to continue this journey.
Please share this tutorial on social media to help the website grow and sustain on the web.
Thank you for your support!