SAP HANA comprises of different processes that store the memory from the operating system when you begin with the SAP HANA system. The SAP needs to manage and follow its own memory during the running and operational mode of the databases. However, it needs to be noted that you can only use one portion of the requested memory at any time.
The pre-reserved memory is made of various pools that are categorized into two parts-
- Used Memory
- Resident Memory
Now, let’s get familiar with the five types of memory pools found in SAP HANA
- Row Tables Pool
- System Table Pool
- Workspace Pool
- Free Space Pool
- Column Tables Pool
What is Used Memory in terms of SAP HANA
Used Memory is the total memory that SAP HANA requires in a given space of time. SAP HANA basically makes use of this memory within the reserved memory. You also need to consider the five memory pools while talking about the SAP HANA used memory.
Where You Can Employ the SAP HANA Used Memory
The SAP HANA used memory is employed for containing all program codes and stakes along with data and system tables that are needed for temporary computation. The SAP HANA used memory is a comprehensive database system and part of the reserved memory. The pools in SAP HANA are divided into rows, columns, and tables.
You also need to note that the Used Memory in SAP HANA will increase with the passage of time, helping to store entire data, which also keeps on piling with time.
Besides, it also needs to be remembered that the queries, the query results, the caching process also form an important aspect of the Used memory.
Checking the SAP HANA Used Memory Employing HANA Studio
You can monitor the memory for all index servers using two methods. First, you can go through the page overview in the SAP HANA studio. Second, you can also run the SQL queries from the database.
Used Memory Over Time
Peak Used Memory
The SAP HANA database also comprises of a specific used memory indicator known as Peak Used Memory. As the name suggests, the peak used memory helps you to keep an eye on the maximum value or load of used memory over time. You get to know the peak amount of memory used since the system was started last.
SAP HANA Tables
The SAP HANA renders support for two types of tables in general.
- Column Based Tables
- Row Based Tables
Memory Management for the Column-based store
The column store is associated with the SAP HANA database managing the organized data in column memory. The column tables are basically stored here. Though this table is efficiently designed for the read operations, it can also offer an improved function for the write operations as well.
Besides, it has two types of storage such as the main storage and the delta storage.
The main data storage comprises of the main parts of the data. You can compress the data to save memory and accelerate the search speed and data calculations. The write operations on compressed data are not cost-effective, which allows you to rectify the compressed data in the main storage.
On the other hand, the delta storage makes use of only the usual compression and specifically developed to write access. You can perform the read operations on both the storages while the write operations only influence the delta structure.
The SAP HANA Database loads the column store through the column upon use. This may be regarded as lazy loading as unused columns are not loaded and you can save memory as well. If the SAP HANA database is running out of the allocated memory, it can free up some memory space as well by unloading the not-so-important data.
Apart from the column tables, there are row tables. These are basically the traditional databases which are suitable for writing operations and so row store structure is also known as a write-optimized system. In the row format, the data is stored in the tuple, which is a unique identification of each record.
Management of the Memory Pool
SAP HANA is capable of pre-allocating and managing its own memory pool that is used for storing in-memory tables and other data structures. The pool helps SAP HANA in offering additional memory needed during the growth of tables or temporary computations. If the pool fails to fulfill the requirements, the memory manager will increase the size of the pool, providing more memory by requesting the operating system.
SAP HANA Resident Memory
Resident memory is the real physical memory that processes utilize in the current state. The resident physical memory is a pool of memory used, representing the SAP HANA, operating system, and other programs.
The allocation limit is set up to 90% of the first 64GB of physical memory on the host including 97% of each further GB. You cannot change the value under any circumstances. For that, there is only one condition that you will have to purchase the license.
Also, remember that Memory has a definite amount of resources. So, if this resource gets exhausted or the allocation limit is exceeded, the SAP HANA memory manager won’t be able to allocate further memory for any internal operations.
Multitenant Database Containers
The different isolated databases get support from SAP HANA as a single SAP system. This is known as the Multitenant Database Containers. The multiple container databases comprise a single system database. There is also no multitenant database container called tenant databases. The single system ID gets identified by the multi-container installed SAP HANA. SID and database names identify databases.
Managing Memory in a Multiple-Container System
The management and control of Multiple-Container System usage are possible through the configuration of individual tenant databases.
Taking the Final Word
SAP HANA comprises of several system views and indicators offering precise monitoring. It initiates the best process of memory utilization. The used memory is one of the important indicators. You will only get the SAP HANA environment if all the data gets loaded into the memory. The data loading time is proportional to the data size. SAP HANA manages the data location automatically within the memory, forwarding tables to disks to free up space.