Welcome to the 2nd part of my Blog. So What is HANA ? HANA is basically consists of a Database which uses In-Memory technology to speed up the fetching of data. Let me take you through a very basic architecture of SAP HANA.
The HANA box consists of basically 2 parts :
- Main Memory i.e the In-Memory Part
- Persistence Storage
1. Main Memory
This is the In-Memory part and is volatile. All the data resides in Main Memory and is available for fetching. Main memory basically consists of :
a. Request Processing and Execution Control
This consists of set of components which help in analyzing and executing the client requests.
b. Relational Engines
This consists of “In-Memory Row store” and “In-Memory Column Store”, where the data resides for In-Memory computing.*
2. Persistence Storage
This is the non-volatile, physical memory and resides on the physical disk. There exists a Persistence Layer, which acts as an interface between Persistence Storage and Main Memory. Persistence Layer mainly takes care of Logging, Save-Points and Page Management.
Therefore, we can say – Persistence Storage acts as a backup for Main Memory. Whenever the HANA Database gets disconnected, the Main Memory i.e the volatile memory gets cleared but data exists on Persistence Storage. On re-connection, Persistence Layer will reload all the data into the Main Memory, automatically, to the last Save-Point.
The above diagram represents a very simplified architecture of HANA. If you want to go more in depth about the various components, you can always refer to the documents provided by SAP itself, where they have explained all the components and their functions quite well.
In the next part, we will see the 2 different scenarios in which this HANA Database can be implemented.
*I’ll also try explain the concept of Row Store and Column Store in short in the next Part.