SAP HANA Architecture with Components
The architecture of SAP HANA has several components working together. The main component of the entire SAP HANA architecture is the Index server which stores and processes all the data. All the other components or engines such as
- Name server
- Relational database engine
- OLAP engine, etc.,
are linked to the index server and work with it. We will learn about all the architectural components and services in detail in this tutorial.
When a user is working on SAP HANA, it is interacting with the client application. A session between the client application and the data source (which is SAP HANA in-memory database) is established which connects the two. The Session and Transaction Manager handle the session initiation and management.
Once, the client is connected with the database, queries and data are launched in languages such as SQL and SQLScript. SQLScript is the scripting language of SAP HANA Database. SAP HANA also supports applications and programs developed in the R language.
Query statements sent by the user processes in the Index Server and a response sends back to the user accordingly. The queries then translate into a readable model and execute by the calculation engine.
Along with the services in the index server, other servers like pre-processor server, name server, graph engine, text engine, statistics server, persistence layer also play important roles in SAP HANA functioning.
1. Index Server
The Index Server is the main server of SAP HANA architecture which has the data storage (having the actual data) and processing engine. Queries in different languages like SQL and MDX receives in the index server and process by different components and servers within it.
The transactions and authentications also manage with it. The index server also has a component that manages transaction logs and selectively stores data. All the components of the index server are:
- Relational Data Engine – This engine determines the mechanism of in-memory data storage. The incoming data is either stored in rows or columns. It also manages the relations of data tables between each other.
- Connection and Session Manager – This component checks the user/client authentication and creates a session for an authenticated user. Once a session generates, this component keeps a check of parameters like auto-commit, state of the current transaction, isolation level, etc. Thus, the session generated, and the connection established between the client and the SAP HANA database is managed and monitored by this component.
- Authorization Management – It checks the user privileges and grants users the permission to access that particular services and use resources of SAP HANA.
- Planning Engine – It generates SQL processing plans. The engine generates a plan specific to each request sent to the database, for instance, if user requests for two database objects, then a plan to load the objects into the data engine is created. The planning engine creates plans and manages request execution and filters applied during that. It also manages the different levels of aggregations applied to data. It optimizes performance by planning parallel aggregation processes.
- Calc Engine – This engine creates object specific calculation models and applies it on data to obtain user desired results. Calc engine also maintains the accuracy of data.
- Persistence Layer – The persistence layer maintains the durability and atomicity of the database transaction occurring in and out of it. This server saves the current committed state of transactions and loads the data into the disk every time the system restarts to ensure data durability and security at times of system failure. It also maintains transaction logs of committed or completely undone states.
2. Name Server
The name server in SAP HANA architecture maintains the information on the topology or landscape of the SAP HANA system environment. It contains information on the name and location of the components.
This server monitors and manages the topology of all the distributed servers or nodes. It fastens the processing time by decreasing the re-indexing process as it keeps the information on what type of data stores on which server.
3. Pre-processor Server
The pre-processor server in SAP HANA architecture is a text analyzing server which processes textual data. The service provided by this component is used during text search. Whenever a request initiates, this server processes textual data and provides it to the user.
4.Statistical Server
This server checks the performance and health of the overall components of SAP HANA architecture. It collects, stores and analyses the data related to allocation, consumption, and state of system resources. This stored data is for analyzing the system’s performance later.
5. SAP HANA Studio Repository
The repository in SAP HANA Studio stores information related to the newly released updates. You can update the old version to the latest ones with the help of this.
6. XS Engine
XS Engine in SAP HANA architecture facilitates communication between the external applications (Java and HTML based) and SAP HANA system via HTTP/HTTPS in a web browser.
The XS Engine converts the system’s state from the persistence model stored in the database into the consumption model for clients.
Optimizer and plan-generator parse and optimizes the client request. The SQL Parser reads the query and decomposes into tokens to create a plan for request execution. This part also works in tandem with pre-processor and statistical server.
The query then passes on to the SQL and data engine, which fetches data as per user requirements from the in-memory. The data engine works as per the query plan generated by the planning engine. It is also capable of executing multiple query plans parallelly.
Queries sent in SQL or other supported language translates as calculation models by the corresponding compilers. The translated queries get execute by the calculation engine.
Metadata manager manages SAP HANA metadata such as relational tables, views, columns, indexes, script implementation procedures, etc. The updated data or the changes occurring in delta memory stores in the repository. The results are shown in SAP HANA Studio for the user interface.
Comments
Post a Comment